[英]How can I check a input field exists in the form when I submit it to the server?
当我将其提交给服务器时,如何检查表单中是否存在输入字段?
例如,我想检查表单中是否存在名为“mem_follow”的复选框。
或者我必须使用javascript(jquery)?
我猜你需要在提交表单后检查服务器端。 如果是这样的话,你可以这样检查......
<?php
if (isset($_POST['mem_follow']))
{
// Work your server side magic here
} else {
// The field was not present, so react accordingly
}
?>
希望这可以帮助!
你可以用两种方式做到这一点:
服务器端:在PHP中
<?php
if (isset($_POST['mem_follow'])
{
// Work your server side magic here
} else {
// The field was not present, so react accordingly
}
?>
客户方:在Jquery
$('#submit_button').click(function() {
if ($('input[name="box_name"]')) {
if($('input[name="box_name"]').attr('checked')) {
return true;
} else {
return false;
}
}
});
它必须是Javascript。 PHP无法从服务器伸出到浏览器的内核并检查你。 它只能检查提交的数据中是否存在字段名称。
在jquery中它是微不足道的:
if ($('input[name="nameoffield"]')) { ... field exists ... }
当然,这提出了一个问题......为什么你需要知道一个领域是否存在? 大概你是那个建造形式的人。 如果该字段存在,您应该已经知道。
在以下脚本中,除非勾选复选框,否则表单将不会提交。 如果您尝试,将显示带有错误消息的隐藏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>
干杯马特
你可以使用javascript(或jQuery)来做到这一点:
<script>
$('#myform').submit(function() {
if($('#yourFieldId').val()=='') {
alert('the field ' + $('#yourformField').name() + ' is empty !');
return false;
} else {
return true;
}
});
</script>
您可以逐个为所有字段执行此操作,也可以将所有条件放在if语句中。
您可以使用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无关紧要)
if(isset($_POST['mem_follow']))
//exists
else
//doesn't exist
我建议你使用Jquery
$.fn.Exists = function() {
return $(this).length>0;
}
if ($("here are your selector to check").Exists()) {
...
}
简单实用! 你可以随处使用这种Exists
方法))))
您可以在表单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;
而已
请享用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.