搜索表单不是第一次通过?

Search form isn't passing through the first time?

大家好!

问题是我有一个用于搜索等的表单。出错的地方是您第一次使用该表单时没有任何反应,它转到了域/?。我不知道问题出在哪里。我尝试了很多东西,但似乎没有任何效果。谢谢!

它似乎不会阻止第一个 运行 的默认操作,因为我已经尝试过并且此函数中的 console.log 不会 运行.

$(function () {
    $('#search-bar').on('submit', function (e) {
        var y = $('#search').val().toLowerCase();
        if (y === 'location') {
            geoSearch();
        } else {
        qCall(y);
        }
        x.val('');
        e.preventDefault;
    });
});

表格HTML没有动作或方法

您可能减少了使用 e.preventDefault 提交的表单。根据 W3C 定义,preventDefault javascript 函数执行以下操作:

Definition and Usage The preventDefault() method cancels the event if it is cancelable, meaning that the default action that belongs to the event will not occur.

例如,这在以下情况下很有用:

  • 单击 "Submit" 按钮,阻止其提交表单
  • 点击 link,防止 link 跟随 URL

所以从您的代码中删除 e.preventDefault(); 应该可以解决问题。

顺便说一句,你忘记了函数名后面的双'()'。我很确定你只是在发布的代码上犯了错误,但值得警告,我们永远不知道。