我将在我的问题前面说明我知道这是一个奇怪的请求,但是对于这个特定的项目不能这样做。
我有几百个复选框的列表作为表单的一部分。在表单之外,我有一个链接指向一个单独的页面,我想将选中的复选框列表附加到。例如:
<form name="sampleForm" method="POST" action="process.php">
<input type="checkbox" name="checkbox_1" />
<input type="checkbox" name="checkbox_2" />
<input type="checkbox" name="checkbox_3" />
</form>
<a href="otherPage.php>Alternate Page</a>
我需要的是当有人点击Alternate Page链接时,复选框会像GET语句一样附加:
otherpage.php?checkbox_1=1&checkbox_2=1
或者这些方面的东西,任何可以解决这样的问题的建议都会很棒。我不想重写大部分代码或用提交按钮替换它。
答案 0 :(得分:1)
您可以通过将javascript附加到链接来实现这一目的。将HTML更改为:
<a id="otherPageLink" href="otherPage.php>Alternate Page</a>
添加此javascript:
$("#otherPageLink").click(function() {
var checkStr = [];
$("form[name='sampleForm'] input[type='checkbox']").each(function() {
checkStr.push(this.name + "=" + this.checked ? 1 : 0);
});
window.location = this.href + "?" + checkStr.join("&");
return(false);
});
其工作原理如下:
答案 1 :(得分:1)
我会尝试这样的事情:
$('a').click(function(){
$('form').attr('method', 'GET');
$('form').attr('action', 'otherPage.php');
$('form').submit();
});
如果将id放在字段上,则可以使用更好的jquery选择器。
答案 2 :(得分:0)
查询字符串使用此标记
<form id="sampleForm" method="POST" action="process.php">
<input type="checkbox" name="checkbox_1" />
<input type="checkbox" name="checkbox_2" />
<input type="checkbox" name="checkbox_3" />
</form>
<a id="alt_page_link" href="otherPage.php">Alternate Page</a>
这个JS
$('#alt_page_link').click(function(){
var href=$(this).attr('href')+'?'+ $('#sampleForm').serialize();
$(this).attr('href',href)
})
使用此代码,复选框值将是浏览器默认值“on”。您希望将假设附加到Alt Page ling并按照该页面进行操作