Php 当我将表单提交到服务器时,如何检查表单中是否存在输入字段?
当我将表单提交到服务器时,如何检查表单中是否存在输入字段 例如,我想检查表单中是否存在名为“mem_follow”的复选框Php 当我将表单提交到服务器时,如何检查表单中是否存在输入字段?,php,jquery,validation,Php,Jquery,Validation,当我将表单提交到服务器时,如何检查表单中是否存在输入字段 例如,我想检查表单中是否存在名为“mem_follow”的复选框 或者我必须使用javascript(jquery)?它必须是javascript。PHP无法从服务器进入浏览器的内脏并为您检查。它只能检查提交的数据中是否存在字段名 在jquery中,它很简单: if ($('input[name="nameoffield"]')) { ... field exists ... } 当然,这提出了一个问题。。。为什么需要知道字段是否存在?
或者我必须使用javascript(jquery)?它必须是javascript。PHP无法从服务器进入浏览器的内脏并为您检查。它只能检查提交的数据中是否存在字段名 在jquery中,它很简单:
if ($('input[name="nameoffield"]')) { ... field exists ... }
当然,这提出了一个问题。。。为什么需要知道字段是否存在?大概是你造了这个形状。您应该已经知道该字段是否存在。您可以使用jQuery执行以下操作:
$('#myForm').submit(function (e) {
if($(this).children(':checkbox[name=mem_follow]').length > 0)
//exists
else
//doesn't exist
});
或者使用php并检查是否有名为“mem_follow”的变量:(这是用于POST的,尽管它是GET还是POST并不重要)
我建议您使用Jquery
$.fn.Exists = function() {
return $(this).length>0;
}
if ($("here are your selector to check").Exists()) {
...
}
简单实用!
您可以使用此
Exists
method everywhere))您可以在submit
事件处理程序中尝试此代码
if($("input[name=mem_follow]").length > 0){
//It exists
}
这里的其他答案是正确的:你必须在客户端这样做。对于复选框输入字段,如果未选中该复选框,则不能保证浏览器将包含该字段的POST参数 例如,如果您提交此表单时未选中复选框:
<form action="test.php" method="post">
<input type="checkbox" name="checkbox" value="YES" />
<input type="submit" name="submit" value="submit" />
</form>
仅提交submit=submit
参数
因此,不,您不能保证给定的复选框存在于服务器端的表单中。对于所有元素,请尝试此方法
number = document.form_name.elements.length;
对于输入的特定名称,请使用此
number = document.form_name.getElementsBYName('Name of Input').length;
就这样
享受我猜您需要在表单提交后在服务器端进行检查。如果是这样的话,你可以这样检查
<?php
if (isset($_POST['mem_follow']))
{
// Work your server side magic here
} else {
// The field was not present, so react accordingly
}
?>
希望这有帮助 在以下脚本中,除非勾选复选框,否则表单不会提交。如果您确实尝试了,则会显示带有错误消息的隐藏div,让您知道原因
<form action="test.php" method="post" id="myform">
<input type="checkbox" name="checkbox" id="checkbox" value="YES" />
<input type="submit" name="submit" value="submit" />
</form>
<div id="error_message_div" style="display:none">You must tick the checkbox</div>
<script>
$('#myform').submit(function() {
if($('#checkbox').attr('checked')) {
return true;
} else {
$("#error_message_div").show();
return false;
}
});
</script>
您必须勾选该复选框
$('#myform')。提交(函数(){
if($('#复选框').attr('checked')){
返回true;
}否则{
$(“#错误信息_div”).show();
返回false;
}
});
干杯
Matt您可以通过两种方式完成此操作: 服务器端:在php中
<?php
if (isset($_POST['mem_follow'])
{
// Work your server side magic here
} else {
// The field was not present, so react accordingly
}
?>
您可以使用javascript(或jQuery)来实现这一点:
<script>
$('#myform').submit(function() {
if($('#yourFieldId').val()=='') {
alert('the field ' + $('#yourformField').name() + ' is empty !');
return false;
} else {
return true;
}
});
</script>
$('#myform')。提交(函数(){
if($('#yourFieldId').val()=''){
警报('字段'+$('#yourformField')。名称()+'为空!');
返回false;
}否则{
返回true;
}
});
您可以一个接一个地对所有字段执行此操作,或者将所有条件放入if语句中。thaknks。实际上我需要从服务器端下载。有时我在表单中有一个复选框,有时没有。所以我想让它在服务器端变得动态。
if(isset($\u REQUEST['nameofeld']){……它已经提交了……}
Useif(isset($\u POST['mem\u follow']){//do something}
$('#submit_button').click(function() {
if ($('input[name="box_name"]')) {
if($('input[name="box_name"]').attr('checked')) {
return true;
} else {
return false;
}
}
});
<script>
$('#myform').submit(function() {
if($('#yourFieldId').val()=='') {
alert('the field ' + $('#yourformField').name() + ' is empty !');
return false;
} else {
return true;
}
});
</script>