gpt4 book ai didi

javascript - jQuery onclick 传递发布变量并重新加载页面

转载 作者:数据小太阳 更新时间:2023-10-29 04:31:37 26 4
gpt4 key购买 nike

我可以传递帖子变量并在单击超链接时重新加载页面吗?

需要说明的是,我有这样的东西。 <a href="test.php?name=test">Click</a>

如果启用了javascript,

我想我可以使用“event.preventDefault()”来禁止作为 GET 变量传递。

所以现在 onclick,name 应该作为 post 变量而不是 get 传递。

如果 javascript 被禁用,然后上面应该工作。

最佳答案

您可以通过创建一个新的 form 元素,将其指向 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>

或者您可以改为执行 AJAX 请求,然后根据需要reload() 页面。

但是,我不确定您为什么要这样做。通常发布的链接有什么用,除非它不是? (不仅当 JS 被禁用/不可用或当它是一个搜索引擎时,而且当用户中键单击链接或尝试右键单击链接或其他任何东西时。)

如果你想要的只是一个行为类似于提交 POST 表单的按钮,最好实际使用一个真实的表单和提交按钮,然后使用 CSS 重新设置它的样式,使其看起来像一个链接,如果这正是你想要的看起来像。

关于javascript - jQuery onclick 传递发布变量并重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com