0
<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>

从上面的表格中,我希望 URL 数据index.php/searchType=all在第一个复选框被选中时为,如果第二个复选框被选中,URL 数据为index.php/(为空)。我要怎么做?是否可以像上面的示例一样打开或关闭“隐藏”参数?我不希望它是index.php/searchType=在选中第二个复选框时,而是要删除整个参数名称。


这是第二个问题:

我想在表单操作中注入一些参数,我该怎么做?它看起来像这样吗:

<a href="javascript:injectParameter();document.search.submit()"></a>

我应该在 injectParameter() 方法中写什么?

对不起,我对 Javascript 和网络很陌生。

4

2 回答 2

0

一个示例injectParameter函数是:

function injectParameter() {
   document.search.action = "index.php?newParam1="+newValue+"&newParam2="+newValue2;
}
于 2013-02-01T09:02:57.450 回答
0

我认为,如果您不希望输入字段显示在 URL 中,您可以在发布之前将它们从表单中删除。

未经测试:

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 />

我希望这有帮助...

于 2013-02-01T09:54:49.597 回答