Php 基于复选框将参数附加到URL
因此,我有一个表单中包含8个复选框的列表。这些复选框用于控制将在帧中加载的链接。但是我不知道从哪里开始…Php 基于复选框将参数附加到URL,php,javascript,Php,Javascript,因此,我有一个表单中包含8个复选框的列表。这些复选框用于控制将在帧中加载的链接。但是我不知道从哪里开始… 复选框1(附录1)-已选中 复选框2(附录2) 复选框3(附录3)-选中 复选框4(附录4) 复选框5(附录5)-选中 复选框6(附录6) 复选框7(附录7) 复选框8(附录8) 因此,基于此,我将有一个基本URL,如和,因为复选框1、3和5是选中appendThis1、appendThis2、appendThis3将被添加到URL的末尾,但其他复选框都不会向URL添加任何内容。每个复选框将
复选框1(附录1)-已选中
复选框2(附录2)
复选框3(附录3)-选中
复选框4(附录4)
复选框5(附录5)-选中
复选框6(附录6)
复选框7(附录7)
复选框8(附录8)
因此,基于此,我将有一个基本URL,如和,因为复选框1、3和5是选中appendThis1、appendThis2、appendThis3将被添加到URL的末尾,但其他复选框都不会向URL添加任何内容。每个复选框将向URL添加或删除其特定参数。
此外,每当选中复选框时,它都会重新加载URL。我的做法如下
- 确保在html表单中,所有的checbox都有相同的名称,末尾有空的方括号,这样您就可以在php中得到一个数组。作为值,您应该设置要附加到html的字符串。大概是这样的:
选项1
选项2
…
- 在php代码中,只需将文章中返回的te数组内爆,并将其附加到html中即可。(请参见此处的更多信息)。伪代码如下所示:
$url='1!'http://www.google.com?';
$checkboxes=$_POST['myCheckboxes']
$url.=内爆('&',$checkbox)代码> - 对于选中复选框时自动提交,您需要一些客户端脚本。我的选择是jQuery,它看起来是这样的:
$('#myForm input[type=“checkbox”]”)。更改(function(){
$(“#myForm”).submit();
};
请注意,所有代码都没有经过测试,但它应该可以正常工作,或者至少可以为您指明正确的方向。当然,欢迎您进行更正!原始Javascript示例。您可以使用生成的URL加载iframe
arr_sel=新数组();
函数构造函数URL(cv)
{
如果(排列选择长度==0)
{
方位选择推力(cv);
}否则{
if(伊纳雷(cv,arr_sel))
{
key=getKey(cv、arr_sel);
排列选择拼接(图例1);
}否则{
方位选择推力(cv);
}
}
makeURL(arr_sel);
}
函数INARAY(val、arr)
{
变量长度=arr.length;
对于(变量i=0;i
酒吧
http://google.com?
如何设置此选项,以便在未选择任何选项时加载默认URL,在取消选择最后一个URL后,将再次加载该默认URL。
<script language='javascript'>
arr_sel = new Array();
function constructURL(cv)
{
if (arr_sel.length==0)
{
arr_sel.push(cv);
} else {
if (inArray(cv, arr_sel))
{
key = getKey(cv, arr_sel);
arr_sel.splice(key,1);
} else {
arr_sel.push(cv);
}
}
makeURL(arr_sel);
}
function inArray(val, arr)
{
var length = arr.length;
for(var i = 0; i < length; i++) {
if(arr[i] == val) return true;
}
return false;
}
function getKey(val, arr)
{
for (var i = 0; i < arr.length; i++)
{
if (arr[i]==val)
return i
}
}
function makeURL(arr_sel)
{
opts = new String;
arr_opts = new Array();
for (var i = 0; i < arr_sel.length; i++)
{
arr_opts.push(arr_sel[i]);
}
url = 'http://google.com?' + arr_opts.join('&');
document.getElementById('myurl').innerHTML = url;
}
</script>
<input type=checkbox name=whatever value='opt1=foo' onClick="constructURL(this.value)"> foo <br>
<input type=checkbox name=whatever value='opt2=bar' onClick="constructURL(this.value)"> bar <br>
<div id='myurl'>http://google.com?</div>