我的脚本应该不会让HTML表单提交,除非用户在文本区域控件中输入一些数据。但是,无论如何都会提交表单,并且不会向用户显示任何消息。有人能看到我做错了什么吗?
这是我的HTML:
<textarea name="description" id="description" rows = "4" cols = "25">
<?php echo $description?>
</textarea>至于PHP,这两个都不是:
if ($_POST['description'] == "") {
$errors .= 'Please enter a description of your invention.<br/><br/>';
}或者这样:
if (empty($_POST['description'])) {
$errors .= 'Please enter a description of your invention.<br/><br/>';
} 工作。
发布于 2010-10-26 00:23:40
这是因为文本区不是空的!请注意,您在前面放置了一个制表符,这意味着至少文本区域将始终包含制表符。
将验证代码更改为如下所示:
if (trim($_POST['description']) == "") {发布于 2010-10-26 00:22:58
在您的表单中输入:
<form onsubmit = "return checkSubmit()">然后在你的Javascript中的某处:
function checkSubmit(){
if (form good)
return true;
else
return false;
}发布于 2010-10-26 00:24:36
在<textarea>标记之间有一些空格。您是否尝试过输出$_POST['description']以查看是否正在回发此内容?额外的新行可能会把它搞乱。您可以尝试向其添加最小长度。
https://stackoverflow.com/questions/4016647
复制相似问题