<form method='GET' name='search' action='index.php'>
<input type="hidden" name="searchType" value="all" />
<input type="checkbox" name="vehicle" value="first"/>
<input type="checkbox" name="vehicle" value="second" checked/>
</form>
<a href="javascript:document.search.submit()"></a>
从上面的表单中,如果选中第一个复选框,则我希望网址数据为index.php/searchType=all
,如果选中第二个复选框,则我希望网址数据为index.php/
(为空)。我该怎么做?是否可以打开或关闭“隐藏”参数,如上例所示?当选中第二个复选框时,我不希望它为index.php/searchType=
,而是删除整个参数名称。
这是第二个问题:
我想在Form Action中注入一些参数,我该怎么做?它看起来像这样:
<a href="javascript:injectParameter();document.search.submit()"></a>
我应该在injectParameter()方法中写什么?
很抱歉,我是Javascript和网络的新手。
答案 0 :(得分:0)
示例injectParameter
函数将是:
function injectParameter() {
document.search.action = "index.php?newParam1="+newValue+"&newParam2="+newValue2;
}
答案 1 :(得分:0)
我认为,如果您不希望输入字段显示在网址中,您可以在发布之前将其从表单中删除。
未测试:
var objForm = document.search;
if (objForm.vehicle.checked)
{
objForm.removeChild(objForm.searchType);
objForm.submit();
}
这是你的目标吗?
同样多个具有相同名称的字段也不起作用。
你可能想要像这样使用无线电按钮:
<input type="radio" name="vehicle" value="all" />
<input type="radio" name="vehicle" value="first"/>
<input type="radio" name="vehicle" value="second" selected />
或创建一个像这样的字段数组:
<input type='checkbox' name='vehicle[]' value='first' />
<input type='checkbox' name='vehicle[]' value='second' checked />
我希望这会有所帮助......