图像:
结果:
我有一个问题,即按下'(单引号)或其中许多按钮后,提示按钮(回复按钮)未被禁用,我只是想禁用它。关键在于阻止某人在textarea上键入单/双引号或奇怪的字符。我有一个来自这里的人的代码,它可以在不同的文件中进行测试,但这里条件不同,表单在ajax中,我在Jquery中非常新,我不知道放在哪里使其有效的代码。
这是我简单的ajax代码:
var x;
function clickreply(obj){
var varid = obj.id;
var getnumb = varid.match(/\d/g); //get number from string
var idreply = 'idreply'+getnumb;
console.log(varid);
console.log(getnumb);
console.log(idreply);
$.ajax({
url: '/logincheckmember2.php', //This is the current doc
type: "POST",
dataType:'json', // add json datatype to get json
success :
function (result) {
x=result['ssloginmember'];
console.log(x);
if(result['ssloginmember']==null){
msgBLshow();
}else{
x="<center>"+
"<form method='post' name='myForm' id='myForm'>"+
"<textarea id='tareply' rows='4' cols='50' maxlength='250' placeholder='maxlength=250'></textarea><br>"+
"<input type='submit' id='submitreply' value='reply' onclick='clicktareply()'></input>"+
"</form>"+
"</center>";
document.getElementById("msgcontent1").innerHTML=x;
$("#msg1").fadeTo(1000, 1);
}
}
});
}
function clicktareply(){
alert(document.getElementById("tareply").value);
}
$(document).ready(function() {
$('#tareply').keyup(function() {
if(!$(this).val().match(/^(?!\s)([a-zA-Z0-9 _.)?&]){1,}$/g)) {
$('#submitreply').prop('disabled', true);
}else{
$('#submitreply').prop('disabled', false);
}
});
});
答案 0 :(得分:2)
你必须使用keypress
而不是keyup
。因为你想阻止单引号
$(document).ready(function() {
$('body').delegate('#tareply','keyup',function() {
//match condition ..do your logic here ..personally i use indexOf rather than regexp
if(!$(this).val().match(/^(?!\s)([a-zA-Z0-9 _.)?&]){1,}$/g)) {
$('#submitreply').prop('disabled', true);
}else{
$('#submitreply').prop('disabled', false);
}
});
});