плагин формы jquery с изменением хэша - PullRequest
1 голос
/ 23 апреля 2011

В настоящее время у меня проблемы с плагином 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 сама по себе, и вместо этого я просто получаю пустую страницу ..

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

, поскольку ни у кого не было подходящего ответа, мне удалось взломать мою реализацию 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);
    } 

}); 

});

я также заменил пробелы в поиске, чтобы включить + знаки .. возможно, это кому-то поможет.

1 голос
/ 23 апреля 2011

Попробуйте добавить фактический хеш, обозначенный #:

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