我在使用AJAX提交表单时遇到问题,在表单下打印响应字符串并将输入设置为只读。
我的代码:
$('#save').click(
function(){
var form_data ={
name: $('#name').val(),
ajax:'1'
};
$.ajax({
url:"page.php",
type: 'POST',
data: form_data,
success: function(data){
$('#form_message').html(data);
}
});
$('#name').toggleClass('bgcolored');
$('#save').addAttr('readonly');
$('#save').toggleClass("invisible");
return false;
}
如果我删除行$('#save').addAttr('readonly');
,则脚本可以正常工作:它会发送值,捕获响应并将其打印到div form_message
中并切换输入框#name
上的两个类提交按钮#save
。
如果我放$('#save').addAttr('readonly');
(在那里或在成功函数中)页面重新加载并且消息丢失。
我该如何解决这个问题?
谢谢!
答案 0 :(得分:0)
尝试使用
$('#save').attr('readonly','true');
并删除
return false;
答案 1 :(得分:0)
有效!
$('#name').attr('readonly','true');
在不重新加载页面的情况下使其成为readoly!
P.S。 我在这个问题上犯了一个错误,显然“readonly”标签必须应用于#name输入框而不是提交按钮。
谢谢!
答案 2 :(得分:0)
现在使用jQuery 1.6.1或更高版本,建议使用.prop()
var videos = $('.videolink').length;
$(".scrollbox").width(
( $('.ytimg').width() + $('.videotext').width() ) * videos
);