我是Javascript的新手,我试图将两个参数传递给一个函数,该函数然后通过表单提交它们,但是当我单击充当函数调用者的图像时,我收到 ReferenceError 。这些是我的输入、一个文本区域和三个单选按钮:
<label for="searchString">
<input type="text" id="searchString" name="searchString" maxlength="20"> </br>
</label>
<section id="searchMode" style="margin-top: 3px; margin-bottom: 2px">
<input type="radio" id="Title" name="searchMode" value="Title"/>
<label for="Title">Title</label>
<input type="radio" id="Author" name="searchMode" value="Author"/>
<label for="Author">Author</label>
<input type="radio" id="Number" name="searchMode" value="Number"/>
<label for="Number">Number</label>
</section>
这是搜索功能:
<script>
s = document.getElementById("searchString").value;
opt = document.querySelector('input[name="searchMode"]:checked').value;
</script>
<section style="margin-top: 3px;">
<a href="javascript:search(s,opt)">
<img alt="search" id="searchImage" src="images/search.png" width="22" height="22">
</a>
</section>
我看到的错误消息是:
未捕获的 ReferenceError:opt 未定义
let我已经尝试过在没有or 的情况下声明这两个变量,var但这似乎不起作用,我该如何修复我的代码以免出现此错误?
编辑:我认为问题可能是我无法将参数从表单正确传递到控制器;搜索功能被调用,我没有收到任何错误,但它们被接收为undefined. 这是形式和功能:
<form name="searchForm" method="post" action="Dispatcher">
<input type="hidden" name="searchString"/>
<input type="hidden" name="searchMode"/>
<input type="hidden" name="controllerAction" value="ProductsManagement.view"/>
</form>
function search(s,opt){
const f = document.searchForm;
f.searchString.value = s;
f.searchMode.value = opt;
f.submit();
}
慕神8447489
摇曳的蔷薇
慕勒3428872
相关分类