Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单击submit按钮后如何在jquery中显示错误_Php_Jquery_Html_Forms - Fatal编程技术网

Php 单击submit按钮后如何在jquery中显示错误

Php 单击submit按钮后如何在jquery中显示错误,php,jquery,html,forms,Php,Jquery,Html,Forms,我的问题是,在点击提交按钮后,页面将转到php文件,我的html代码是这样的 <form action="register.php" method="post"> <input type="text" name="name" id="name"><div id="adiv"></div> <input type="submit" value="submit" id="button"> </form> $('

我的问题是,在点击提交按钮后,页面将转到php文件,我的html代码是这样的

<form action="register.php" method="post">
    <input type="text" name="name" id="name"><div id="adiv"></div>
    <input type="submit" value="submit" id="button">
</form>
$('#name').focusout(function(){
    if($('#name').val().length==0){ 
        $('#adiv').html("please enter name")
    }
});
$('#button').click(function(){
    if($('#name').val().length==0){
        $('#adiv').html("please enter your name")
    }
});

但单击“提交”按钮后,它会重定向到php文件,不会显示任何错误,并在数据库中存储空白数据。

在检测到错误后,您需要停止代码执行。例如,您可以简单地使用
return false
return

$('#name').focusout(函数(){
if($('#name').val().length==0){
$('#adiv').html(“请输入名称”)
}
});
$(“#按钮”)。单击(函数(){
if($('#name').val().length==0){
$('#adiv').html(“请输入您的姓名”)
return false;//添加这个
}
});

因为您的
输入类型是submit
,您可以
将类型更改为button
或添加
event.preventDefault()
以避免表单自动传递

使用


改为

<input type="button" value="submit" id="button">//also prevent form auto submit thus will show the error
//同时防止表单自动提交,因此将显示错误
Prevent Default停止浏览器的正常提交行为,以便您可以触发所需的任何事件

函数validateFunction(){
if(document.getElementByID('name')。value.length==0){
document.getElementByID('adiv').innerHTML=“请输入您的姓名”;
返回false;
}
返回true;
}

我强烈建议不要为提交按钮单击指定验证。 而是指定表单的提交事件处理程序。 我还添加了trim,并从代码中删除了错误内容

$(函数(){
$('#name').focusout(函数(){
var empty=$.trim($('#name').val()).length==0;
$('#adiv')。切换(空);
});
$('#form1')。关于(“提交”,函数(e){
$('#name').focusout();
如果($('#adiv')是(“:可见”)){
e、 预防默认值()
}
});
});
#adiv{显示:无}

请输入名称
请检查此项

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
  <input type="text" name="name" id="name">
  <div id="adiv"></div>
  <input type="button" value="submit" id="button">
</form>

<script>
$(document).ready(function(){
$('#button').on('click',function(){

if($('#name').val() == ''){
$('#adiv').text("Please enter name!!");
}else{

    $('#adiv').text($('#name').val());
}

})

})

</script>

$(文档).ready(函数(){
$('#按钮')。在('单击',函数()上){
if($('#name').val()=''){
$('#adiv')。文本(“请输入名称!!”;
}否则{
$('#adiv').text($('#name').val());
}
})
})

您可以使用Javascript进行验证,但也应该始终在服务器端验证输入。(以PHP为例)人们可以简单地禁用Javascript,但仍然发送无效数据。请参阅请使用提交事件而不是单击event@mplungjan我只是展示了
e.preventDefault()的用法
这就是我使用click的原因。请参阅submit Instead用户的答案。我不建议使用按钮的click处理程序来验证表单。而是使用表单的提交处理程序。这就是它存在的目的。另外,如果希望表单全部提交,请将preventDefault放在错误的位置1:不要添加内联事件处理程序,尤其是在使用jQuery时。2:不要将验证分配给提交按钮此代码不起作用吗??我能得到这次否决投票的具体原因吗。。请很抱歉,我已将代码更改为javascript。仍然不要内联事件处理程序,也不要使用提交按钮的单击处理程序。如果您计划稍后执行提交,也不要在for
name=“submit”
中调用任何内容。它将覆盖formoops的事件处理程序。。对不起,这个名字,我在考虑value=“submit”,,但是输入了这个名字。真的很抱歉没问题。我见过数百次这样的情况,人们无法理解为什么他们不能提交表单,除非我们在代码中再次提交表单,否则表单将永远不会提交,那么在代码中使用提交按钮有什么用?如果您检查代码中是否有错误,请检查。如果是,您不必提交,只需显示错误即可。如果没有,您可以发送ajax请求或再次触发提交,如下所示:$('your-form').submit()。。。。。或者你想做什么就做什么
<input type="button" value="submit" id="button">//also prevent form auto submit thus will show the error
$('your-form').on('submit', function(e) { 
e.preventDefault(); 
//your code bere
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
  <input type="text" name="name" id="name">
  <div id="adiv"></div>
  <input type="button" value="submit" id="button">
</form>

<script>
$(document).ready(function(){
$('#button').on('click',function(){

if($('#name').val() == ''){
$('#adiv').text("Please enter name!!");
}else{

    $('#adiv').text($('#name').val());
}

})

})

</script>