Javascript表单验证-PHP变量作为值-输入无效
我有一个问题,我正在用javascript验证表单提交。表单将以PHP值的形式预先填充来自数据库的结果,如下所示:Javascript表单验证-PHP变量作为值-输入无效,javascript,php,html,forms,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 ec
<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>
问题是它总是告诉我top“请输入有效的团队名称”,除非我在框中重新键入文本(由PHP值提供)
我在“查看源代码”中看不到任何奇怪的空间或东西
有什么问题吗
谢谢
EDIT1:对不起,我忘了粘贴右括号。代码中有,这对空白表单有效。只是当它有一个来自PHP的预填充值时就不需要了。试试这个 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>
希望它能有所帮助好吧,毕竟这些回答没有错。我的代码很好,你们的代码也很好。 问题出在哪里 我只是碰巧在测试一个有空格的团队名 因此,在最终解决了这一问题之后,我要感谢大家的投入 我使用了正则表达式:/^\w+(\w+)*$/
允许字、数字和空格。浏览器中有控制台错误消息吗?初始值的开头或结尾可能有空格?打开大括号和关闭大括号{,}的数量不相等。请尝试在处理document.getElementById(“teamname”).value.trim()之类的内容之前修剪该值;是的,你没有合适的开合支架。在模式匹配之前试着调整你的值。我想你错过了大括号了吧?在if中。无论如何我都试过了,它根本没有验证,直接提交。检查更新的链接和代码,确保它对uHi有帮助,谢谢。我没有使用这个的价值。我使用PHP echo来填充值(因此用户不必全部重新键入)。验证中有多个签入。好的,尽管如此。
onClick="return empty();"
<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>
$('#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');
}
});