以下echo语句使用php创建一个空文本框和一个提交按钮。
echo"<td><form id=\"edit\" name=\"edit\" method=\"post\" action=\"../assets/modules/coursemanager/process.cm.php\" onsubmit=\"return check_edit();\">
<input type=\"text\" size=\"3\" id=\"edit_places\" name=\"edit_places\" value=\"\" />
<input type=\"hidden\" name=\"sid\" value=\"".$sid."\" />
<input type=\"submit\" name=\"Submit\" value=\"edit places\" /></form></td>";
这是我正在使用的验证JavaScript,但上面的表单忽略了它。
function check_edit(){
var notempty=document.forms["edit"]["edit_places"].value;
if(notempty==null || notempty==""){
alert("Please enter the new number of available places and try again");
return false;
}else{
return true;
}
}
如果有人能告诉我我的错误,我将非常感激。
答案 0 :(得分:1)
您可以检查输入的长度。
value = document.forms["edit"]["edit_places"].value.replace(/\s+/g, '')
if (value.length > 0) {
return true;
} else {
alert("Please enter the new number of available places and try again");
return false;
}
答案 1 :(得分:0)
我在处理脚本中使用了else语句来完成这个技巧并省去了check_edit函数。
if($_POST['edit_places']!== ''){
$id=$_POST['sid'];
$z=$_POST['edit_places'];
$sql = "UPDATE xtra_session SET places=$z WHERE xtra_session.id=$id";
$add = $modx->db->query($sql);
$msg = ($add? "available places has been updated" : "error: ".mysql_error());
}
else {
echo "Please enter a number of places to change";
}
感谢您的宝贵建议。