javascript - 切换 "enter on submit"

标签 javascript jquery forms

我有一个输入字段,通过 keyUp() 上的 AJAX 针对数据库进行验证。

如果输入的文本令人满意,则启用。

我还想在文本输入字段的提交时切换输入。

<div id="faq_dupe" class="center-modal">
    <form id="faq_form" onsubmit="AJAXsendData(); hideModal('faq_dupe'); return false;">
        <input id="faq_dupe_search" type="text" placeholder="e.g. 00AA1" class="noEnterSubmit"/>
        <button id="faq_dupe_img" type="submit" disabled>
            <img src="/img/val-no.png"/>
            <div>Submit</div>
        </button>
    </form>
    <script type="text/javascript">
        $('.noEnterSubmit').keypress(function(e){
            if ( e.which == 13 ) return false;
        });
    </script>
    <script type="text/javascript">
        $('#faq_dupe_search').keydown(function() {
            var faqimg = '<img src="/img/load-a-40px.gif"/><div>Submit</div>';
            document.getElementById('faq_dupe_img').innerHTML = faqimg;
        });
    </script>
    <script type="text/javascript">
        $('#faq_dupe_search').keyup(function() {
            AJAXvalFAQid($('#faq_dupe_search').val());
        });
    </script>
</div>

我有 AJAXvalFAQid() 添加和删除 .noEnterSubmit 类。

从现在开始,无论是否应用 .noEnterSubmit 类,按 Enter 键都不会执行 onsubmit=""中的脚本。

这是我最终使用的:

<script type="text/javascript">
    function onsubmit(event) {
        if(noEnterSubmit === true){
            event.preventDefault();
        }else{
            sendData();
            hideModal('faq_dupe');
            return false;
        }
    }
</script>

最佳答案

只有一个提交功能会更容易。它可能看起来像这样:

function onsubmit(event) {
    if (input_is_valid()) {
        // all is well, let the event continue
    } else {
        event.preventDefault(); // block the submit
        show_errors();
    }
}

<form id="faq_form">..</form>
<script type="text/javascript">
    $("#faq_form").submit(onsubmit);
</script>

关于javascript - 切换 "enter on submit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161274/

相关文章:

javascript - 正则表达式:检索重复字符串后的数字

javascript - 如何使用匹配的正则表达式获取多行文本的最后一行?

jquery - 简单的 jquery (DOM).click() 函数不起作用

javascript - 如何根据父元素的大小制作动态字体大小?

javascript - 在 Android 浏览器上缩放 iframe

javascript - 定义位置对象和 URL 参数的正确 URL 语法是什么?

javascript - jQuery 计数器对结果进行计数(天数 HH :mm:ss)

javascript - 我的 Javascript 对象继承自什么?

c# - 将 listboxfor 发送到 Controller

ruby-on-rails - Rails——将单选按钮值传递给参数