我在一个网站上进行了一项调查,用户点击输入(我不知道为什么)并在不点击提交按钮的情况下意外提交调查(表格)似乎存在一些问题.有办法防止这种情况吗?
我在调查中使用HTML,PHP 5.2.9和jQuery.
我一直在尝试禁用Enter表单上的密钥.我的代码如下所示.由于某种原因,回车键仍然触发提交.代码在我的脑子部分,似乎从其他来源是正确的.
disableEnterKey: function disableEnterKey(e){
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
return (key != 13);
},
Run Code Online (Sandbox Code Playgroud) 嗨朋友们, 我正在做一个小任务,即让用户在输入按键时对html元素进行tabindex.
作为jquery的新手,我已经编写了一些代码,在我看来它会起作用,但是它有一些问题.
初步调查结果
罪魁祸首代码,它不起作用,因为Msg lablel中的输出是"未定义"
$('*').attr('tabindex').id
Run Code Online (Sandbox Code Playgroud)

代码如下,我甚至创建了一个JSFiddle.
JQuery的
$(document).ready(function (eOuter) {
$('input').bind('keypress', function (eInner) {
if (eInner.keyCode == 13) //if its a enter key
{
var tabindex = $(this).attr('tabindex');
tabindex++; //increment tabindex
//after increment of tabindex ,make the next element focus
$('*').attr('tabindex', tabindex).focus();
**//Msg Label**
//Just to print some msgs to see everything is working
$('#Msg').text( this.id + " tabindex: " + tabindex
+ " next element: " + $('*').attr('tabindex').id);
return false; // to cancel out Onenter …Run Code Online (Sandbox Code Playgroud) 我有一个输入文本,我将它用于建议项目的typeahead插件,但是当我在输入文本上按Enter键时它会提交表单.
如何使用twitter bootstrap typeahead插件阻止表单提交?
我有一个带有文本字段的表单,我试图在浏览器提交整个表单时禁用默认行为,如果用户Enter在选择文本字段时按下该表单.
$('#recaptcha_response_field').keydown(function(event) { if (event.keyCode == 13) {
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
alert("You Press ENTER key");
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
目前正在"按下ENTER键",并且不会覆盖默认行为.
简单的例子:
<%= form_for :post, url: posts_path do |f|%>
<p>
<%= f.label :title%><br/>
<%= f.text_field :title%>
</p>
<p>
<%= f.label :text%><br/>
<%= f.text_area :text%>
</p>
<p>
<%= f.submit%>
</p>
<%end%>
Run Code Online (Sandbox Code Playgroud)
我认为这是一个Rails默认事件处理.在这里,如果用户按下回车键,则提交params.
但在我的情况下,我必须使用enter键进行另一个事件.
我必须users按回车键搜索另一个输入字段.
但是,如果我使用form_for它提交表单.:(
如何阻止使用回车键进行提交rails?
我必须使用普通的HTML标签吗?喜欢<form> tag和<submit> button?
好的解决方案?
我有一个带有禁用提交按钮的表单.即使用户无法按下此按钮,他仍然可以按Enter键提交表单.我该如何预防呢?
这里有一个真正令人头疼的问题:我有一个页面上有几个控件,还有一个ASP:按钮或两个.当我在一个控件中,并点击Enter键时,它就像我点击了提交按钮一样,我此时并不想要这样做.
该按钮不在ASP:面板中设置了DefaultButton,它没有OnClientClick属性,我看不到任何监视Enter键的JavaScript ...为什么它会被触发?
如果我创建一个标准的.ASPX页面并在其上放置一个文本框和一个按钮,运行它并点击回车键,该按钮将被忽略,例如点击事件不会触发.这是我期望的行为,但我没有得到.
简而言之,还有什么可能导致按钮认为它是页面的默认按钮?
谢谢,
迈克K.
好的,这是我的测试页面标记:
<p><asp:Label ID="uxNameL" runat="server" AssociatedControlID="uxName">Name</asp:Label><asp:TextBox ID="uxName" runat="server"></asp:TextBox></p>
<p><asp:Button id="uxSubmit" runat="server" Text="Submit" onclick="uxSubmit_Click" /></p>
<asp:Literal ID="uxOut" runat="server" EnableViewState="false"></asp:Literal>
Run Code Online (Sandbox Code Playgroud)
这是代码中发生的事情:
protected void uxSubmit_Click(object sender, EventArgs e)
{
uxOut.Text = uxName.Text;
}
Run Code Online (Sandbox Code Playgroud)
当我运行页面,并在文本框中输入一些文本并按Enter - ha时,你会看到:在IE 8中,按钮事件被忽略,例如页面只是重新加载,但在FF中,它提交表单. ..
Hmmmmm.
第1部分:
当用户"更改"输入字段时,是否可以使用任何事件来获取回调.我对变化的定义是模拟以下效果.比如,我想在用户输入输入框时更新标签.我尝试了jquery"改变"事件.它有效,但没有现场效果.更新输入字段后,我必须单击屏幕中的某个位置以更新标签.
第2部分:
好吧,如果这不是一个好主意,我可能会阻止在输入密钥上提交表单.不确定是否有一个好方法.快速搜索找到了这个答案.
<form action="" method="post" onsubmit="return false;">
Run Code Online (Sandbox Code Playgroud)
尚未测试,但希望提交按钮可能仍然有效.
编辑:测试,并onsubmit ="返回false;" 甚至阻止提交按钮.
谢谢,
bsr.