<form target="ip" id="form28" name="form4" method="post" action="/cgi-bin/vgaic.cgi"> <input type="text" name="ip" id="ip" size="16" /> <label for="name1_submit"></label> <input type="submit" name="name1_submit" id="name1_submit" onclick="if(confirm('需重启才能生效,是否立即重启?')) {document.getElementById('form50').submit();} else {document.getElementById('form28').submit();}" value="设置" /> <label for="label50"></label> <input type="reset" name="name_abord16" id="label50" value="清除" /> </form>,如何将里面的onclick写个函数,其中onclick里面的form28需要表示为当前target下的id名
时间: 2023-07-02 20:21:58 浏览: 151
VGA采集卡VGAIC-VER20-205产品说明书
可以将 `onclick` 属性的值改为一个函数名,然后在 JavaScript 中定义这个函数,如下所示:
```html
<form target="ip" id="form28" name="form4" method="post" action="/cgi-bin/vgaic.cgi">
<input type="text" name="ip" id="ip" size="16" />
<input type="submit" name="name1_submit" id="name1_submit" onclick="submitForm()" value="设置" />
<input type="reset" name="name_abord16" id="label50" value="清除" />
</form>
```
在 JavaScript 中,可以使用以下代码来获取当前目标元素的 ID,然后拼接出要执行的表单提交代码:
```javascript
function submitForm() {
var targetId = document.querySelector('form[target="ip"]').id;
var code = 'if(confirm("需重启才能生效,是否立即重启?")) {document.getElementById("form50").submit();} else {document.getElementById("' + targetId + '").submit();}';
eval(code);
}
```
这个函数会获取当前 target 下的第一个表单元素的 ID,然后使用 `eval()` 函数动态执行表单提交代码。注意,`eval()` 函数会执行任何传递给它的字符串,所以要确保字符串是可信的,不要让用户输入恶意代码。
阅读全文