下拉触发 onchange 事件提交,当存在两个输入提交按钮时它无法工作。这是有道理的,那么您如何专门指定要处理的提交按钮?
<form>
<select onchange="this.form.submit()"></select>
<input type="submit" name="submit1" id="submit1" value="Submit 1" />
<input type="submit" name="submit2" id="submit2" value="Submit 2" />
</form>
Run Code Online (Sandbox Code Playgroud)
解决方案 使用下面的建议,此代码将起作用,以便如果从下拉菜单触发 onchange 则第二个提交按钮将执行:
<form>
<select onchange="var e=document.getElementById('killbox'); var s=document.getElementById('submit1'); e.removeChild(s); this.form.submit();"></select>
<div id="killbox"><input type="submit" name="submit1" id="submit1" value="Submit 1" /></div>
<input type="submit" name="submit2" id="submit2" value="Submit 2" />
</form>
Run Code Online (Sandbox Code Playgroud)
这是一种基本形式,将 Javascript 放入函数中而不是使用内联 Javascript 进行 onchange 当然不会有什么坏处。
小智 6
这是另一种可以使用的形式
<select class="form-control" id="search" name="search" value="search" onchange="this.form.submit()">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我很确定您可以简单地调用.submit()
按钮本身:document.getElementById('submit1').submit()
-编辑-
解决方案二:仅删除其中一个按钮(使用removeChild()
,这是一种常见的 DOM 方法)。
归档时间: |
|
查看次数: |
32172 次 |
最近记录: |