Javascript 只能使用“提交”按钮提交表单
我有一张表格。我希望表单提交的唯一方法是使用提交按钮。我想确保ios上的enter按钮或go按钮未用于提交表单。将按钮类型用作按钮,并将其分配给onclick功能Javascript 只能使用“提交”按钮提交表单,javascript,jquery,html,Javascript,Jquery,Html,我有一张表格。我希望表单提交的唯一方法是使用提交按钮。我想确保ios上的enter按钮或go按钮未用于提交表单。将按钮类型用作按钮,并将其分配给onclick功能 <script type="text/javascript"> function submitform(){ $('#myform').submit(); } </script> <form id="myform" name=
<script type="text/javascript">
function submitform(){
$('#myform').submit();
}
</script>
<form id="myform" name="myform" action="somepage" method="POST">
<button type="button" onclick="submitform();"></button>
</form>
函数submitform(){
$('#myform')。提交();
}
HTML
不会在移动设备上使用enter键或“go”按钮触发自动提交
<form action="my-handler.php" method="POST" id="my_form">
<label for="some_input">Input 1
<input name="some_input" id="some_input" type="text">
</label>
<label for="another_input">Input 2
<input name="another_input" id="another_input" type="text">
</label>
<input type="button" value="Submit Form" id="submit_button">
</form>
输入1
输入2
JavaScript
//如果按enter键,则停止提交表单
//或者在手机上按下“go”按钮
$(“#我的表格”)。提交(函数(e){
e、 预防默认值();
});
//单击按钮时提交表单
$(文档)。在('单击','提交'按钮',函数()上){
$(“#我的表格”).submit();
});
结论
您可能不应该过于关注在手机上使用enter或“go”来阻止表单提交,因为这会降低用户体验。我想你这样做是因为在填写完表格之前,有一些东西很容易触发提交。也许,在这种情况下,表单验证对您来说是一个更好的朋友,比如:
<script type="text/javascript">
$( '#my_form' ).submit( function(e) {
e.preventDefault(); // Don't let the form submit yet
if( true == validateForm() ) {
$( '#my_form' ).submit(); // Submit the form
} else {
// Show error output
}
});
// Validation function - returns true or false
function validateForm() {
// Do all your field validation and return
return true;
}
</script>
$(“#我的表格”)。提交(函数(e){
e、 preventDefault();//不要让表单提交
if(true==validateForm()){
$(“#我的表单”).submit();//提交表单
}否则{
//显示错误输出
}
});
//验证函数-返回true或false
函数validateForm(){
//完成所有字段验证并返回
返回true;
}
event.preventDefault()是您的朋友。请求如何发送并不重要。在服务器端,检查用于提交isset()的按钮的名称是否正确。这应该行得通。如果不是,则忽略帖子。@Zapp如果不是通过“提交”按钮提交表单,我需要停止提交表单。为什么要这样做?会导致更糟糕和不一致的用户体验。这肯定是一个好方法,但在这种情况下,按“enter”仍将提交表单。我认为它不会作为指定为按钮的类型属性,这将阻止默认提交方法
<script type="text/javascript">
$( '#my_form' ).submit( function(e) {
e.preventDefault(); // Don't let the form submit yet
if( true == validateForm() ) {
$( '#my_form' ).submit(); // Submit the form
} else {
// Show error output
}
});
// Validation function - returns true or false
function validateForm() {
// Do all your field validation and return
return true;
}
</script>