我有一个现有的表单,使用下拉菜单和提交按钮,它工作正常。
我想为表单之外的选择类别链接或图片添加直接链接 - 我该如何实现?
我的尝试不起作用。
任何建议都表示赞赏!
<form method="post" action="page.php?cat" id="searchcat">
<select name="Categories">
<option selected>Browse...</option>
<option value="j001">Option 1</option>
<option value="j002">Option 2</option>
<option value="j003">3</option>
<option value="j004">4</option>
...
</select>
</form>
<a onclick="SelectItemByValue(document.getElementById('searchcat'), j004);">
Click here to submit option#4
</a>
<script>
function SelectItemByValue(element, value) {
if (value !== undefined && value !== null) {
var length = element.options.length;
for (var i = 0; i < length; i++) {
if (element.options[i].value === value) {
element.selectedIndex = i;
return;
}
}
}
}
</script>
答案 0 :(得分:0)
直截了当,用html和javascript查看changed
的行:
<form method="post" action="page.php?cat" id="searchcat">
<select name="Categories" id='cats'> <!-- changed -->
<option selected>Browse...</option>
<option value="j001">Option 1</option>
<option value="j002">Option 2</option>
<option value="j003">3</option>
<option value="j004">4</option>
...
</select>
</form>
<a onclick="SelectItemByValue(document.getElementById('searchcat'), 'j004');"> <!-- changed -->
Click here to submit option#4
</a>
<script>
function SelectItemByValue(form, value) { // changed
var sel = form.elements.namedItem('cats'); // changed
if (value !== undefined && value !== null) {
var length = sel.options.length; // changed
for (var i = 0; i < length; i++) {
if (sel.options[i].value === value) { // changed
sel.selectedIndex = i;
form.submit(); // changed
return;
}
}
}
}
</script>
<小时/> 您的代码存在一些问题,例如:
'
上遗失了j004
,因此:'j004'
; <select>
元素;和<小时/> 你提到你有一个按钮,如下所示:
<input id="search2" type="submit" name="submit" value="Search">
但在我的测试中,将按钮命名为submit
会导致脚本停止工作。这段代码对我有用:
<button name='sent'>Search</button>
但请注意,以防您使用按钮作为isset:如果表单是通过锚点发送的,则不会sent
检查是否isset
。 ..