我有一个问题,我正在使用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+(*$/
允许使用单词、数字和空格。