<script> function confirmRestart(formId) { if (confirm('需要重启设备新的配置才会生效,现在重启?')) { document.getElementById('form50').submit(); } else { document.getElementById(formId).submit(); } } </script> <script> function check_D_delay() { if(document.getElementById("D_delay").value > 4000 || document.getElementById("D_delay").value < 0) { alert("参数超出范围[0-4000],请重新输入"); return false; } if(document.getElementById("D_delay").value <= 4000 && document.getElementById("D_delay").value >= 0) { alert("配置成功"); return true; } }</script> <td ><form target="vedio_out" id="form18" name="form6" method="post" action="/cgi-bin/vgaic.cgi"> <input type="text" name="D_delay" id="D_delay" size="6" /> <label for="delay_submit"></label> <input type="submit" name="delay_submit" onclick="return check_D_delay()" onclick="confirmRestart('18')" id="delay_submit" value="设置" /> <label for="label44"></label> </form></td>如何点击设置让两个函数都生效
时间: 2023-12-05 21:15:18 浏览: 121
你需要将两个onclick事件合并成一个,像这样:
```
<input type="submit" name="delay_submit" onclick="if(check_D_delay() && confirmRestart('form18')){return true;}else{return false;}" id="delay_submit" value="设置" />
```
这样,当你点击设置按钮时,会先执行check_D_delay()函数,如果返回true,再执行confirmRestart('form18')函数,如果两个函数都返回true,则提交表单。如果有一个函数返回false,则不会提交表单。
相关问题
<script> function confirmRestart(formId) { if (confirm('需要重启设备新的配置才会生效,现在重启?')) { document.getElementById('form50').submit(); } else { document.getElementById(formId).submit(); } } </script> function check_D_delay() { if(document.getElementById("D_delay").value > 4000 || document.getElementById("D_delay").value < 0) { alert("参数超出范围[0-4000],请重新输入"); return false; } if(document.getElementById("D_delay").value <= 4000 && document.getElementById("D_delay").value >= 0) { alert("配置成功"); return false; } return true; } <td ><form target="vedio_out" id="form18" name="form6" method="post" action="/cgi-bin/vgaic.cgi"> <input type="text" name="D_delay" id="D_delay" size="6" /> <label for="delay_submit"></label> <input type="submit" name="delay_submit" onclick="return check_D_delay()" onclick="confirmRestart('form18')" id="delay_submit" value="设置" /> <label for="label44"></label> </form></td>如何点击设置按钮使两个函数都生效
可以将两个函数合并为一个函数,然后在设置按钮的 onclick 事件中调用这个合并后的函数即可。以下是示例代码:
```
<script>
function confirmRestart(formId) {
if (confirm('需要重启设备新的配置才会生效,现在重启?')) {
document.getElementById(formId).submit();
}
}
function checkAndSetDelay() {
if(document.getElementById("D_delay").value > 4000 || document.getElementById("D_delay").value < 0) {
alert("参数超出范围[0-4000],请重新输入");
return false;
} else {
alert("配置成功");
confirmRestart('form18');
return true;
}
}
</script>
<td>
<form target="vedio_out" id="form18" name="form6" method="post" action="/cgi-bin/vgaic.cgi">
<input type="text" name="D_delay" id="D_delay" size="6" />
<input type="submit" name="delay_submit" onclick="return checkAndSetDelay()" id="delay_submit" value="设置" />
</form>
</td>
```
在上面的代码中,合并后的函数名为 checkAndSetDelay(),它会先调用 check_D_delay() 函数检查输入的参数是否在合法范围内,如果不合法则弹出错误提示并返回 false。如果参数合法,则弹出成功提示并调用 confirmRestart() 函数重启设备,同时返回 true。在设置按钮的 onclick 事件中调用 checkAndSetDelay() 函数即可。
<form target="sys" id="form50" method="post" action="/cgi-bin/reboot"> <input type="submit" name="reboot" id="reboot" value="重启" style="border:none;background:none;cursor:pointer;outline:none;"/> </form>将里面的form50封装到 函数function confirmRestart(formId) { if (confirm('需重启才能生效,是否立即重启?')) { document.getElementById('form50').submit(); } else { document.getElementById(formId).submit(); } }中
可以将以下代码添加到页面的 `<script>` 标签中或者外部的 JavaScript 文件中:
```
function confirmRestart(formId) {
if (confirm('需重启才能生效,是否立即重启?')) {
document.getElementById('form50').submit();
} else {
document.getElementById(formId).submit();
}
}
```
然后在需要调用的地方,使用以下代码调用该函数:
```
confirmRestart('form50');
```
这将触发一个 confirm 对话框,如果用户确认,则会提交 id 为 `form50` 的表单,否则会提交传递进来的表单 ID。
阅读全文