如果用户输入特定值(%或*),我想显示错误/警告消息。如果用户只输入%或*并点击“提交”,则提示或消息应显示“不允许这样做”。但是,应该允许SM%TH或* MITH。
HTML
<input type="text" name="ANSWER.TTQ.MENSYS.3." id="ANSWER.TTQ.MENSYS.3." value="" class="forminfree">
<input type="submit" name="ANSWER.TTQ.MENSYS.7." id="ANSWER.TTQ.MENSYS.7." value="Search" class="formsubfree" style="width:100px" onclick="searchCheck()">
SCRIPT
function searchCheck(){
}
一如既往,您的帮助将受到高度赞赏。
答案 0 :(得分:2)
试试这个:
function searchCheck(){
var answer = $.trim($(this).find('input[type=text]').val());
if(answer == '*' || answer == '%') alert('this is not allowed');
}
答案 1 :(得分:0)
首先获取值。使用jQuery:
var str = $("#ANSWER.TTQ.MENSYS.3.").val();
使用KY 没有jQuery:
var elem = document.getElementById("ANSWER.TTQ.MENSYS.3.");
var str = elem.value;
现在你看一下:
str = str.trim();
if (str == "*" || str == "%") {
alert("This is not allowed. Get off my system!");
}
答案 2 :(得分:0)
访问具有点(。)的ID时可能会出现问题。为避免这种情况,您必须以这种方式使用$('#ANSWER\\.TTQ\\.MENSYS\\.3\\.')
。
function searchCheck(){
var answer = $.trim($('#ANSWER\\.TTQ\\.MENSYS\\.3\\.').val());
if(answer == '*' || answer == '%') alert('this is not allowed');
}
答案 3 :(得分:0)
抓取字符串,检查前面的*或%,然后停止跟进**或%*但不是%%。
function searchCheck(){
var pos=0;
var error=false;
var prior=false;
while(pos<your_string.length && !error){
if(prior){
if(your_string.charAt(pos) == '*'){
error = true;
} else if(your_string.charAt(pos) != '%') prior = false;
} else {
if(your_string.charAt(pos) == '%' || your_string.charAt(pos) == '*')
prior = true;
}
pos++;
}
if(error || (your_string.length==1 && prior)){
alert("not allowed");
}
}