首页 文章

使用输入按钮提交无形式“表单”

提问于
浏览
0

我们目前正在使用Dojo Mobile构建应用程序,我们有几个区域有输入字段和提交按钮 . 这些输入字段和提交按钮不在表单中,我们只使用onclick事件来“提交”要在javascript中使用的字段中的值 . 有没有办法让它在我们按下“输入”时,或者在移动应用程序的情况下,当用户按下软键盘上的“搜索”或“转到”时,它会触发该特定按钮?我们可能在同一页面上有多个提交按钮 .

...
<div>
    <input dojoType="dijit.form.TextBox" />
    <button dojoType="dijit.form.Button" type="submit">
        Filter
    </button>
<div>
 ...

3 回答

  • 1

    将相关字段放在表单中 . 注册一个"onsubmit"事件处理程序,并使其与按钮的"onclick"处理程序相同 . 从事件处理程序返回时,应该返回false,或者应该调用 event.preventDefault() . 这将阻止表单(通过POST)提交到服务器 .

  • 1

    JQuery中的解决方案:

    //when you a key on an input
    $("input").keyup(function (e) {
        //if it is enter
        if (e.keyCode == 13) {
            //look for the next submit button a trigger a click
            $(this).next("button[type='submit']").click();
        }
    });
    

    我不是一个道场编码器,但文档似乎很好:

    http://dojotoolkit.org/documentation/tutorials/1.6/key_events/

    http://dojotoolkit.org/api/1.6/dojo/keys/ENTER

    看到这里的相关答案:

    Enter key press event in JavaScript

    http://dojo-toolkit.33424.n3.nabble.com/want-enter-key-in-ValidationTextBox-to-submit-the-form-td977303.html

  • 1

    覆盖默认表单提交操作

    您可以覆盖表单上的默认提交操作 . 将表单保存在 <form> 标签中是理所当然的,即使你想要覆盖默认行为,并做你想做的事情,就像你那个强大,独立的黑人女性一样 .

    jsFiddle

    HTML:

    <form id="myForm">
        <input type="text" />
        <button type="submit">Submit</button>
    </form>
    

    JavaScript:

    var myForm = document.getElementById('myForm');
    myForm.addEventListener('submit',function(event){
        alert('submit pressed -- do as you please');
        event.preventDefault(); // cancels form submission
    });
    

    //追 .

相关问题