我有一个问题,即我使用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的预填充值时。
答案 0 :(得分:0)
试试这个
<强> 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 +)* $ /
允许使用单词,数字和空格。