0

我有 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;
});

我想要实现的是

如果 readonly = true 不重置“handle”值

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

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

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

1 回答 1

2

试试这个代码:

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

也可以使用

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

代替

$('#handle').attr('readonly', true)
于 2012-04-29T14:41:53.703 回答