目前我有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;
}
});
});