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


Javascript form validation - PHP variable as VALUE - Invalid Input

我有一个问题,我正在使用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();"

问题是总是告诉我顶部"请输入有效的团队名称",除非我在框中重新键入文本(由 PHP 值提供(。

我在"查看源代码"中看不到任何奇怪的空间或事物。

问题可能是什么?

谢谢。

编辑1:对不起,我忘了粘贴右大括号。 它存在于代码中,这确实适用于空白表单。 只是当它有来自 PHP 的预填充值时就不行了。

试试这个

检查此链接

目录

<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');
    }

});

希望它有帮助

好吧,毕竟回应没有错。 我的代码很好,你们的代码也很好。问题出在哪里?

好吧,我只是碰巧正在使用一个包含空格的团队名称进行测试!!!!!!!!!

因此,在终于解决了这个问题之后,我要感谢大家的投入。

我改用了正则表达式:/^''w+( ''w+(*$/

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