提交时验证输入不为空

时间:2014-01-11 03:41:52

标签: javascript php forms validation

以下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;
      }
  }

如果有人能告诉我我的错误,我将非常感激。

2 个答案:

答案 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"; 
    }

感谢您的宝贵建议。