我在一个网站上进行了一项调查,用户点击输入(我不知道为什么)并在不点击提交按钮的情况下意外提交调查(表格)似乎存在一些问题.有办法防止这种情况吗?
我在调查中使用HTML,PHP 5.2.9和jQuery.
我刚刚写了这个漂亮的小函数,它可以在表单上运行...
$("#form").keypress(function(e) {
if (e.which == 13) {
var tagName = e.target.tagName.toLowerCase();
if (tagName !== "textarea") {
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
在我的逻辑中,我希望在输入textarea期间接受回车.此外,将输入字段的输入键行为替换为tab到下一个输入字段的行为(就像按下Tab键一样)将是一个额外的好处.有没有人知道使用事件传播模型正确触发相应元素上的回车键的方法,但是阻止表单在其印刷机上提交?
我知道这是一个愚蠢的问题,但我对此有点困惑.例如,如果我有一个带ID的输入:rad1,下面的代码行之间有什么区别吗?
var $a = $('#rad1')
Run Code Online (Sandbox Code Playgroud)
要么
var a = $('#rad1')
Run Code Online (Sandbox Code Playgroud) 我在同一页面上有两种不同的形式.
<form action="" method="post" onsubmit="ajax_send('<?print $userid;?>',this.msg.value); return false;">
<input id="msg" autocomplete="off" type="text" name="msg" stlye="width: 80px;" autofocus="autofocus" placeholder="Chat here" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
和
<form action="?page=about&id=0#comments" method="post">
<textarea class="editbox" id="exitbox" placeholder="Write a comment ..." name="newcomment"></textarea>
<input type="submit" id="submit1" name="submit1"></div></div>
Run Code Online (Sandbox Code Playgroud)
现在当我输入内容<input id="msg"..>并按回车键时,它会提交第二个表单而不是第一个表单.
我错过了什么?