jQuery if readonly = true 仅清除表单的一部分



我有 2 个 jQuery 片段,第一个是切换只读,第二个是提交表单。

切换只读:

$('#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;
});

我想要实现的是

如果只读 = true,则不重置"句柄"值

否则重置两者,所以我需要获取第一个片段的状态(切换只读)并允许第二个(表单)区分其真假。

我成功地尝试了这个:但没有用。

if($('#handle').attr('readonly', true)){
    $('#msg').val('');
    }else{
    $('#handle, #msg').val('');

请尝试以下代码:

if ($('#handle').is('[readonly]')) {
    $('#msg').val('');
}
else {
    $('#handle, #msg').val('');
}

也供使用

​$('#handle').prop('readonly', true)

而不是

$('#handle').attr('readonly', true)

最新更新