Javascript 多个JavasScript以相同的形式提交
当我点击Javascript 多个JavasScript以相同的形式提交,javascript,html,Javascript,Html,当我点击submit1然后点击submit2时,一切都很顺利,但是当我在第一次输入文本时按Enter键时,我进入第二部分 当我在第二个输入文本上按Enter键时->第一个JavaScript函数执行,这给我带来了麻烦 我不想禁用Enter键press,但他执行良好的提交输入 有没有办法在他被执行后停用submit1 或者知道按下了哪个输入文本回车键 HTML: CSS: #3,4 { 显示:无; } JavaScript: $(文档).ready(函数(){ $(“#submit1”)。单
submit1
然后点击submit2
时,一切都很顺利,但是当我在第一次输入文本时按Enter键时,我进入第二部分
当我在第二个输入文本上按Enter键时->第一个JavaScript函数执行,这给我带来了麻烦
我不想禁用Enter键
press,但他执行良好的提交输入
有没有办法在他被执行后停用submit1
或者知道按下了哪个输入文本回车键
HTML:
CSS:
#3,4
{
显示:无;
}
JavaScript:
$(文档).ready(函数(){
$(“#submit1”)。单击(函数(){
/*使用javascript验证数据并使用Ajax发送数据*/
/*如果一切正常,则显示:*/
document.querySelector(“#2”).style.display=“无”;
document.querySelector(“#3”).style.display=“block”;
document.querySelector(“#4”).style.display=“block”;
});
$(“#submit2”)。单击(函数(){
/*使用javascript验证数据并使用Ajax发送数据*/
});
});
如果在submit1
上按ENTER键,则除非按TAB键,否则不会选择submit2
。你在这么做吗
无论如何,您可以这样做:
$("#submit1").click(function () {
/* Verify data with javascript and send it with Ajax */
/* if everything is ok display: */
$("#submit2").focus(); // This will automatically focus the user on the second submit button //
});
这将强制用户在下次点击ENTER时提交submit2
按钮
但是不要使用.submit()
。。。您应该使用.submit()
函数而不是.click()
,因为我相信.click()
只检查鼠标点击
$("#submit1").submit(function(){
/* Blah blah blah... */
$("#submit2").focus(); // This will automatically focus the user on the second submit button //
});
$("#submit2").submit(function(){
/* ... */
});
正如其他用户所说,是submit1
和submit2
在同一个
标签中:
是的,它们是。但是如果要单独提交数据,则不应该在同一个
标记中有两个字段
这样做:
HTML
<form>
<div id="1">
<input type="text" placeholder="name"/>
</div>
<div id="2">
<input type="submit" value="submit" id="submit1"/>
</div>
</form>
<form>
<div id="3">
<input type="text" placeholder="firstname"/>
</div>
<div id="4">
<input type="submit" value="submit" id="submit2"/>
</div>
</form>
如果在submit1
上按ENTER键,则除非按TAB键,否则不会选择submit2
。你在这么做吗
无论如何,您可以这样做:
$("#submit1").click(function () {
/* Verify data with javascript and send it with Ajax */
/* if everything is ok display: */
$("#submit2").focus(); // This will automatically focus the user on the second submit button //
});
这将强制用户在下次点击ENTER时提交submit2
按钮
但是不要使用.submit()
。。。您应该使用.submit()
函数而不是.click()
,因为我相信.click()
只检查鼠标点击
$("#submit1").submit(function(){
/* Blah blah blah... */
$("#submit2").focus(); // This will automatically focus the user on the second submit button //
});
$("#submit2").submit(function(){
/* ... */
});
正如其他用户所说,是submit1
和submit2
在同一个
标签中:
是的,它们是。但是如果要单独提交数据,则不应该在同一个
标记中有两个字段
这样做:
HTML
<form>
<div id="1">
<input type="text" placeholder="name"/>
</div>
<div id="2">
<input type="submit" value="submit" id="submit1"/>
</div>
</form>
<form>
<div id="3">
<input type="text" placeholder="firstname"/>
</div>
<div id="4">
<input type="submit" value="submit" id="submit2"/>
</div>
</form>
从这里我可以告诉您最大的问题是,在一个表单标签中似乎有两个提交按钮。我强烈建议不要这样做,因为这可能会导致像您所经历的那样的问题。相反,我将更改为按钮,并将提交功能添加到JavaScript方法中,就像您现在所做的那样
显然,尽管您希望将文本框链接到一个按钮,但我想看看这个问题,因为我可以告诉您,这里最大的问题是,在一个表单标记中似乎有两个提交按钮。我强烈建议不要这样做,因为这可能会导致像您所经历的那样的问题。相反,我将更改为按钮,并将提交功能添加到JavaScript方法中,就像您现在所做的那样
显然,尽管您希望将文本框链接到一个按钮,但我会看一看这个问题,除非我误解了这个问题-您只是试图确保根据用户选择的按钮调用正确的事件处理程序。只要按钮具有它们所具有的唯一ID,并且您可以将它们与正确的事件处理程序相关联(这看起来就像您在共享代码中所做的那样),这就可以正常工作
此外,您还可以使用disabled属性禁用任何按钮(将其设置为true)
禁用
document.getElementById(“submit1”).disabled=true
要启用:
document.getElementById(“submit1”).disabled=false 除非我误解了这个问题-您只是试图确保根据用户选择的按钮调用正确的事件处理程序。只要按钮具有它们所具有的唯一ID,并且您可以将它们与正确的事件处理程序相关联(这看起来就像您在共享代码中所做的那样),这就可以正常工作
此外,您还可以使用disabled属性禁用任何按钮(将其设置为true)
禁用
document.getElementById(“submit1”).disabled=true
要启用:
document.getElementById(“submit1”).disabled=false
是一个特殊控件。如果窗体具有焦点并且按下了enter按钮,则会导致窗体提交。使用此选项时,应使用event.preventDefault()
在绑定到click事件时取消该行为。我建议改用
是一个特殊控件。如果窗体具有焦点并且按下了enter按钮,则会导致窗体提交。使用此选项时,应使用event.preventDefault()
在绑定到click事件时取消该行为。我建议改用
我让它这样工作:
为什么我在一张表格上会有问题?IE<6
HTML:
JAVASCRIPT:
$(document).ready(function() {
$('#text2').keypress(function(e){
if(e.keyCode==13)
$('#submit2').click();
});
$("#submit1").click(function () {
/* Verify data with javascript and send it with Ajax */
/* if everything is ok display: */
document.querySelector("#2").style.display = "none";
document.querySelector("#3").style.display = "block";
document.querySelector("#4").style.display = "block";
document.querySelector("#submit1").disabled = true;
});
$("#submit2").click(function () {
/* Verify data with javascript and send it with Ajax */
});
});
我让它这样工作:
为什么我在一张表格上会有问题?IE<6
HTML:
JAVASCRIPT:
$(document).ready(function() {
$('#text2').keypress(function(e){
if(e.keyCode==13)
$('#submit2').click();
});
$("#submit1").click(function () {
/* Verify data with javascript and send it with Ajax */
/* if everything is ok display: */
document.querySelector("#2").style.display = "none";
document.querySelector("#3").style.display = "block";
document.querySelector("#4").style.display = "block";
document.querySelector("#submit1").disabled = true;
});
$("#submit2").click(function () {
/* Verify data with javascript and send it with Ajax */
});
});
根据您的共享代码,第二次提交的事件处理程序将被注释掉!在submit1
处理程序上创建一个标志,表明您已经去过那里。然后,当你再次点击它时,只需返回。我是javascript新手,cou