使用AJAX提交表单并将输入字段设置为只读

时间:2011-03-25 10:44:52

标签: forms jquery readonly

我在使用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');(在那里或在成功函数中)页面重新加载并且消息丢失。

我该如何解决这个问题?

谢谢!

3 个答案:

答案 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
);