Javascript 仅在提交按钮上禁止输入,而不是表单的其余部分
好的,我一直在寻找一段代码来实现这一点,但没有任何东西适用于我的情况 我的问题:我试图阻止表单在按下“回车”键时提交,但允许表单中的我的搜索脚本在按下“回车”键时提交 我发现一些脚本阻止了回车键周期,或者脚本不起作用,因为我认为我使用的是Javascript 仅在提交按钮上禁止输入,而不是表单的其余部分,javascript,jquery,forms,preventdefault,enter,Javascript,Jquery,Forms,Preventdefault,Enter,好的,我一直在寻找一段代码来实现这一点,但没有任何东西适用于我的情况 我的问题:我试图阻止表单在按下“回车”键时提交,但允许表单中的我的搜索脚本在按下“回车”键时提交 我发现一些脚本阻止了回车键周期,或者脚本不起作用,因为我认为我使用的是而不是作为提交按钮,我不确定 我的表格 <form action="" method="post" onsubmit="return false;" id="myform"> 我的搜索输入 <input type="text" id="sea
而不是
作为提交按钮,我不确定
我的表格
<form action="" method="post" onsubmit="return false;" id="myform">
我的搜索输入
<input type="text" id="searchText" value="" />
<div id="txtSub"></div>
我的提交按钮
<input type="hidden" value="Post" name="submit" />
<button type="submit" style="height:33px; width:50px">
<img src="../css/images/plus_25.png" />
</button>
我的java脚本提交后脚本
<script type="text/javascript">
$(function(){
$('button[type=submit]').click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "postadd.php",
data: $("#myform").serialize(),
beforeSend: function(){
$('#result').html('<div class="success"><img src="../images/loading-blue.gif" width="25" /></div>');
},
success: function(data){
$('#result').html(data);
$('html, body').animate({scrollTop:$(document).height()}, 'slow');
//document.getElementById('footer').scrollIntoView();
}
});
});
});
$(函数(){
$('button[type=submit]')。单击(函数(e){
e、 预防默认值();
$.ajax({
类型:“POST”,
url:“postadd.php”,
数据:$(“#myform”).serialize(),
beforeSend:function(){
$('#result').html('');
},
成功:功能(数据){
$('#result').html(数据);
$('html,body').animate({scrollTop:$(document.height()},'slow');
//document.getElementById('footer').scrollIntoView();
}
});
});
});
解决方案基本上基于检测按键和防止表单提交
.submit
和.search
上使用的。submit按钮
用于防止在按下enter键时执行click事件块添加了两个示例,一个带有基于单击的提交按钮,另一个用于基于两个单击/输入的搜索 另一个优点是,它不会阻止您使用enter for search按钮 HTML 编辑: 在搜索框中输入一些文本,然后按enter键 滑动分页
你说表单的其他部分没有搜索脚本是什么意思?我想在按下enter键时执行搜索的表单中有一个搜索脚本。我不明白,该表单永远不会被提交,因为你在表单的内联onsubmit中返回false,那么你到底想在这里做什么呢?返回false是针对我在另一个页面上提交表单的ajax脚本。按下
后,将其发送到postadd.php。因此,该页不会转到另一页,而是停留在同一页上。我的表单现在的工作方式是,当您按enter键时,任何文本字段都会触发submit按钮并导致表单出现错误。我想在按下enter键时阻止表单提交,但不阻止在搜索字段输入中使用enter键。大多数脚本现在只是阻止所有表单文本字段使用enter键,这就解决了它们的问题,但是我的表单上有一个搜索输入,我想让用户点击enter来完成他们的搜索。因此,文本字段中允许输入键,但不允许提交表单本身。为什么我必须为搜索字段设置搜索按钮?我希望用户能够按enter键进行搜索。仅出于简单的解释目的,我添加了它来解释差异。只有在单击相应的按钮时,才会触发第一个块。我的意思是,按钮带有。提交类已附加,因此您可以在任何其他地方自由使用enter键用于任何目的,我不知道它是否只是jfiddle,但当我按下“回车”键时,什么也没发生。除了点击选项卡外,它将首先选择提交按钮,然后按enter键,再按另一个选项卡进入文本框,键入一些文本,然后按enter键。要了解差异,请单击提交按钮,然后您将see@Sickest你检查小提琴了吗
<script type="text/javascript">
$(function(){
$('button[type=submit]').click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "postadd.php",
data: $("#myform").serialize(),
beforeSend: function(){
$('#result').html('<div class="success"><img src="../images/loading-blue.gif" width="25" /></div>');
},
success: function(data){
$('#result').html(data);
$('html, body').animate({scrollTop:$(document).height()}, 'slow');
//document.getElementById('footer').scrollIntoView();
}
});
});
});
<input type="button" class="Submit" value="Submit"/>
<input type="button" class="Search" value="Search"/>
$("input.Submit").keypress(function(event){
if(event.which=='13'){
alert("Key enter key entered ");
event.preventDefault();
}else{
event.preventDefault();
}
}).click(function(event){
alert("Here is the submit Button works on click write jquery ");
$( "#FormId" ).submit();
});
//The Code For Search Which could be triggered by both keypress and click
$("input.Search").click(function(event){
alert("Works for both enter and click");
});
$("input.Search").keypress(function(event){
if(event.which=='13'){
alert("Key enter key entered ");
}
});