我有2个jQuery代码段,第1个是readonly,第2个是提交表单。
只读切换:
$('#lock').toggle( function () {
$('#handle').attr('readonly', true).addClass('disabled');
return false;
} , function() {
$('#handle').attr('readonly', false).removeClass('disabled');
return false;
});
提交表单
$('button').click(function() {
var handle = $('#handle').val();
var msg = $('#msg').val();
var dataString = 'handle='+ handle + '&msg=' + msg;
if(handle=='' || msg=='') {
$('.error').fadeOut(200).show();
} else {
$.ajax({
type : 'POST',
url : 'form.php',
data : dataString,
success : function(){
$('#foo').load('page.php');
}}
});
}
return false;
});
我想要实现的是
如果readonly = true,则不重置“handle”值
否则重置两者,所以我需要获取第一个片段的状态(切换只读)并允许第二个(表单)区分它的真或假。
我成功地尝试了这个:但它没有用。
if($('#handle').attr('readonly', true)){
$('#msg').val('');
}else{
$('#handle, #msg').val('');
答案 0 :(得分:1)
请尝试使用此代码:
if ($('#handle').is('[readonly]')) {
$('#msg').val('');
}
else {
$('#handle, #msg').val('');
}
也可以使用
$('#handle').prop('readonly', true)
而不是
$('#handle').attr('readonly', true)