2つのjQueryスニペットがあります。1つ目は読み取り専用のトグルで、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の場合、「ハンドル」値をリセットしないでください
それ以外の場合は両方をリセットするので、1番目のスニペットのステータスを取得し(読み取り専用に切り替え)、2番目のスニペット(フォーム)が真か偽かを区別できるようにする必要があります。
私はこれを成功させました:しかし、それはうまくいきませんでした。
if($('#handle').attr('readonly', true)){
$('#msg').val('');
}else{
$('#handle, #msg').val('');