Javascript jQuery onclick传递post变量并重新加载页面
我可以传递post变量并在单击超链接时重新加载页面吗 说清楚,我有类似的东西。Javascript jQuery onclick传递post变量并重新加载页面,javascript,jquery,dom,Javascript,Jquery,Dom,我可以传递post变量并在单击超链接时重新加载页面吗 说清楚,我有类似的东西。 如果启用了javascript 我想我可以使用“event.preventDefault()”来禁止作为GET变量传递 所以现在onclick,name应该作为post变量而不是get传递 如果禁用了javascript, 然后,上面的操作就可以了。您可以通过创建一个新的表单元素,将其指向href并在其上调用.submit() <a class="postlink" href="test.php?name=t
如果启用了javascript
我想我可以使用“event.preventDefault()”来禁止作为GET变量传递
所以现在onclick,name应该作为post变量而不是get传递
如果禁用了javascript,
然后,上面的操作就可以了。您可以通过创建一个新的
表单
元素,将其指向href
并在其上调用.submit()
<a class="postlink" href="test.php?name=test">Click</a>
<script type="text/javascript">
$('.postlink').click(function() {
var form= document.createElement('form');
form.method= 'post';
form.action= this.protocol+'//'+this.hostname+this.pathname;
$.each(this.search.slice(1).split(/[&;]/g), function() {
var ix= this.indexOf('=');
if (ix===-1) return;
var input= document.createElement('input');
input.type= 'hidden';
input.name= decodeURIComponent(this.slice(0, ix));
input.value= decodeURIComponent(this.slice(ix+1));
form.appendChild(input);
});
document.body.appendChild(form);
form.submit();
return false;
});
</script>
$('.postlink')。单击(函数(){
var form=document.createElement('form');
form.method='post';
form.action=this.protocol+'/'+this.hostname+this.pathname;
$.each(this.search.slice(1).split(/[&;]/g),function(){
var ix=this.indexOf('=');
如果(ix==-1)返回;
var input=document.createElement('input');
type='hidden';
input.name=decodeURIComponent(this.slice(0,ix));
input.value=decodeURIComponent(这个.slice(ix+1));
表单。追加子项(输入);
});
文件.正文.附件(表格);
表单提交();
返回false;
});
或者,如果愿意,您也可以只执行AJAX请求,然后重新加载()
页面
但是,我不知道你为什么要这么做。通常发布的链接有什么用,除非它不是?(不仅仅是当JS被禁用/不可用时,或者当它是一个搜索引擎时,而且当用户中键单击链接或尝试右键单击书签或其他任何内容时。)
如果你想要的只是一个提交帖子表单的按钮,那么最好实际使用一个真正的表单和提交按钮,然后使用CSS重新设计它的样式,使它看起来像一个链接(如果你希望它看起来像链接的话)。我在一个页面上有大约10个链接。当用户单击这些链接时,必须重新加载ajax 说清楚,我有类似的东西
<a href="test.php?name=one">one</a>
<a href="test.php?name=Two">Two</a>
如果启用了javascript
单击后,必须进行ajax加载
如果禁用了javascript,那么上述操作应该可以正常工作
基本上,我使用name
来限制搜索页面的某些值 非常好的提示
我第一次尝试通过Ajax Post调用发送表单数据,然后重新加载页面,但工作不正常:
var biq_select_val = jQuery('#biq_search_select').val();
jQuery.post(window.location.href,
{ biq_amazon_item_list_search: biq_select_val},
function() {window.location.reload();}
);
现在我只使用了一个:
jQuery('#biq_amazon_item_list_search_form').submit();
而且很好用。非常感谢。成功了。Ajax和Jquery对我来说是非常新的。因此,您建议,当启用js时,使用“ajax”而不是“post”,当禁用js时,使用“get”重新加载。听起来很完美。我真的很感激。如果可能的话,你能帮我做些ajax方面的事情吗。再次感谢。有时候最简单的解决办法就是最好的。。谢谢