我正在尝试创建一个搜索框,该搜索框有4个输入但输出为一个搜索。这是我目前的代码:
<form method="get" id="searchform" action="http://sitename.com/">
<input type="text" name="s" />
<input type="text" name="a" />
<input type="text" name="b" />
<input type="text" name="c" />
<div class="clear_space"></div>
<input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" />
</form>
但是在wordpress中输出如下:/?s = milk&amp; a = eggs&amp; b = cheese&amp; c = garlic&amp; submit = Search
但我需要它输出如下:/?s =牛奶+鸡蛋+奶酪+大蒜&amp; submit =搜索
所以不知何故,这些额外的输入需要将他们的文本添加到第一个?s =只有+ ...任何帮助都会受到大力赞赏。
答案 0 :(得分:0)
你在开玩笑吗?
您正在寻找的+
只是一个空间。有一个文本字段,当提交表单时,单词之间的空格将转换为+
。
答案 1 :(得分:0)
NEVER
为不同的标签使用相同的ID(!!!)。如果你想到这样做的正当理由,那就再想一想。
按如下方式更改表单:
<form method="get" id="searchform" action="http://sitename.com/">
<input type="text" class="field" placeholder="Search" />
<input type="text" class="field" placeholder="Search" />
<input type="text" class="field" placeholder="Search" />
<input type="text" class="field" placeholder="Search" />
<input type="hidden" name="s" id="s" />
<div class="clear_space"></div>
<input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" />
</form>
然后实现form submit event来计算您的值并分配给您的输入字段。欢呼声。
编辑:
在提交表单之前,请使用以下js代码:
//...
var value = "";
$(".field").each(function(){
value += ((value !== "") ? (" ") : ("")) + $(this).val();
});
$("#s").val(value);
//...