Jquery表单插件与哈希变化



目前我有jquery表单插件的问题。部分原因是因为我需要更改表单提交上的哈希值。下面是我所做的基本操作:

$(document).ready(function()  {
$('#search').ajaxForm({
target: '#pageContent',
success: function()  {
$('#pageContent'); //this is all i need to 'ajaxify' this form
var hash = 'query='+encodeURI(document.getElementById('query').value);
window.location.hash = hash;
}
});
});

现在发生的事情是我能够改变哈希值,但我的形式不再是ajax的本身,而不是我只是得到一个空白页。

我做错了什么?

由于没有人有合适的答案,我设法破解了我的jquery.history.js实现,允许通过ajax进行搜索。下面是代码:

$(document).ready(function() { 
// bind form using ajaxForm 
$('#search1').ajaxForm({ 
    // target identifies the element(s) to update with the server response 
    target: '#pageContent', 
    // success identifies the function to invoke when the server response 
    success: function() { 
        $('#pageContent'); 
        var hash = '#search.php?term='+($('#query').val()+'&submit=Submit').replace(/ /g, '+');
        update(window.location.hash = hash);
    } 
}); 

});

i还替换了搜索中的空格以包含+符号。

尝试添加一个实际的散列,表示为#:

$(document).ready(function()  {
  $('#search').ajaxForm({
    target: '#pageContent',    
    success: function() {
      var hash = '#query='+encodeURI($('#query').val());
      window.location.hash = hash;
    }
  });
});

相关内容

  • 没有找到相关文章

最新更新