1

現在、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;
}
});
});

これで、ハッシュ値を変更できますが、フォーム自体がajaxifyではなくなり、代わりに空白のページが表示されます。

私は何が間違っているのですか?

4

2 に答える 2

2

誰も適切な答えを持っていなかったので、私は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);
    } 

}); 

});

また、検索のスペースを置き換えて+記号を含めました。多分これは誰かを助けるでしょう。

于 2011-05-05T19:21:03.147 に答える
1

次のように示される実際のハッシュを追加してみてください#

$(document).ready(function()  {
  $('#search').ajaxForm({
    target: '#pageContent',    
    success: function() {
      var hash = '#query='+encodeURI($('#query').val());
      window.location.hash = hash;
    }
  });
});
于 2011-04-22T22:43:08.373 に答える