Javascript表单验证 - PHP变量为VALUE - 输入无效

时间:2014-12-23 11:18:55

标签: javascript php html forms

我有一个问题,即我使用javascript验证表单提交。该表单预填充了数据库的结果,如下所示的PHP值:

<form name="profiledit" action="profile_edited.php" method="POST" >
     <h3>Name:</h3>
     <input type="text" id="teamname" name="teamname" 
          value="<?php echo $result['teamname'];?>">
</form>

这是javascript:

<script type="text/javascript">
function empty() {
   tn = document.getElementById("teamname").value;
   if (! /^[a-zA-Z0-9]+$/.test(tn)) {
      alert("Please enter a valid Team Name");
      return false;
   }
}
</script>

提交按钮是:

onClick="return empty();"

问题是,总是告诉我最重要的&#34;请输入有效的团队名称&#34;除非我重新输入框中的文本(由PHP值提供)。

我看不到任何奇怪的空格或东西,查看来源&#34;。

问题是什么?

感谢。

EDIT1:抱歉,我忘记粘贴右括号。它存在于代码中,这确实适用于BLANK表单。只是当它具有来自PHP的预填充值时。

2 个答案:

答案 0 :(得分:0)

试试这个

Check this link

<强> HTML

<form name="profiledit" action="" method="POST"  id="profiledit">
     <h3>Name:</h3>
    <input type="text" id="teamname" name="teamname" value=""/>
         <input type="button" id="submit" value="submit" name="submit" />
<input type="submit" id="submitform" value="submitform" name="submit" style="display:none;" /> 

</form>

<强> Jquery的

$('#submit').click(function(){

   var pattern=/^[a-zA-Z0-9]*$/;
   var  tn = $("#teamname").val();

    if(tn == ""  && pattern.test(tn)){
     alert('1');   
    }else {
     //alert('2');   
        $('#submitform').trigger('click');
    }


});

希望它的帮助

答案 1 :(得分:0)

嗯,毕竟答案没有错。我的代码很好,你们代码也很好。 问题?

好吧,我刚好正在测试一个有SPACE的团队名称!!!!!!!!!!

所以我终于解决了这个问题,我想感谢大家的意见。

我使用了正则表达式:/ ^ \ w +(\ w +)* $ /

允许使用单词,数字和空格。