2011-03-25 78 views
0

我在使用AJAX提交表单时遇到问题,在表单下打印响应字符串并将输入设置为只读。使用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');脚本的工作原理:它的输入框#name,并在送价值,赶上响应,并将其打印到DIV form_message和切换两班提交按钮#save。 如果我把$('#save').addAttr('readonly');(在那里或在成功函数中)页面重新加载并且消息丢失。

我该如何解决这个问题?

谢谢!

回答

0

尝试使用

$('#save').attr('readonly','true'); 

和删除

return false; 
0

它的工作原理!

$('#name').attr('readonly','true'); 

使它readoly没有重新加载页面!

P.S. 我在这个问题上犯了一个错误,显然“只读”标签必须应用于#name输入框而不是提交按钮。

谢谢!

0

这些天与jQuery 1.6.1或它上面建议使用.prop()

$("#fieldName").prop("readonly", true);