我是HTML / PHP / Javascript和Bootstrap框架的新手...
这是我的代码:
<form name="Enquiry" method="post" action="query.php">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<h5>Choose search type:</h5>
<div id="selector" class="btn-group">
<button type="button" name="Surname" class="btn btn-default active">Surname</button>
<button type="button" name="IDNumber" class="btn btn-default">ID Number</button>
<button type="button" name="FileNumber" class="btn btn-default">File Number</button>
</div>
<br>
<input id="searchbox" name="QD" type="text" size="20" maxlength="30" pattern="/[A-z]/g" title="0-Only alphabets allowed! No special characters or numbers. Please correct!">
<script>
$('#selector button').click(function() {
$(this).addClass('active').siblings().removeClass('active');
$getName = this.name;
switch ($getName) {
case "Surname":
document.getElementById('searchbox').value="";
document.getElementById('searchbox').maxLength="30";
document.getElementById('searchbox').pattern="/[A-z]/g";
document.getElementById('searchbox').title="1-Only alphabets and spaces allowed. Please correct!";
break;
case "IDNumber":
document.getElementById('searchbox').value="";
document.getElementById('searchbox').maxLength="13";
document.getElementById('searchbox').pattern="\d+";
document.getElementById('searchbox').title="2-Only numerical value allowed in the ID field! Please correct";
break;
case "FileNumber":
document.getElementById('searchbox').value="";
document.getElementById('searchbox').maxLength="5";
document.getElementById('searchbox').pattern="\d+";
document.getElementById('searchbox').title="3-Only numerical value allowed in the file number field! Please correct";
}
});
</script>
<input type="submit" class="btn btn-primary" name="search" value="Query">
</form>
完整代码位于:
https://jsfiddle.net/o5n5ucm6/7/
我想要达到的目标:
根据用户按下的按钮,我使用regxp和maxlength等设置输入文本框的验证标准。
问题我有:
当我单击查询按钮(POST方法)时,即使该值与regxp匹配,它仍然会引发错误。
有什么帮助和建议吗?
最佳答案
Javascript允许使用正则表达式文字,因此您无需引用行。
更改此行:document.getElementById('searchbox').pattern="/[A-z]/g";
为此:document.getElementById('searchbox').pattern=\[A-z]\g;
两行与此:document.getElementById('searchbox').pattern="\d+";
需要更改为:document.getElementById('searchbox').pattern=\d+;
关于javascript - 使用Bootstrap按钮的验证错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42187758/