【问题标题】:Search form isn't passing through the first time?搜索表单不是第一次通过?
【发布时间】:2015-10-02 09:46:05
【问题描述】:

大家好!

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

似乎它不会阻止第一次运行时的默认操作,因为我已经尝试过,并且此函数中的 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 没有动作或方法

【问题讨论】:

    标签: javascript jquery youtube-api


    【解决方案1】:

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

    定义和用法 preventDefault() 方法如果可以取消,则取消该事件,这意味着属于该事件的默认动作不会发生。

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

    • 点击“提交”按钮,阻止其提交表单
    • 点击链接,阻止链接跟随网址

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

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

    【讨论】:

    • 感谢您的回答。很抱歉浪费了您的时间。事实证明我没有在 preventDefault 之后添加 () 所以实际上它并没有一直阻止默认。你的回答让我意识到了这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2017-09-05
    • 1970-01-01
    • 2021-04-04
    • 2011-09-11
    相关资源
    最近更新 更多