使用时:
<input id="action" type="hidden" name="">
<button onclick="document.getElementById('action').setAttribute('name','copy'); document.getElementById('myForm').submit()">
您在网址中输入了这个:
file.php?copy=
但是当你使用正常输入时,所以没有setAtrribute:
<input id="action" type="hidden" name="copy">
你得到这个(没有&#39; =&#39;签名):
file.php?copy
我知道这是一个很小的区别,但我怎么能使用setAttribute >>
答案 0 :(得分:0)
<button onclick="document.getElementById('action').setAttribute('name','copy'); document.getElementById('myForm').submit()">
会变成:
// **BETTER** don't use inline events, but that's a different issue
<button onclick="dosubmit()">
function dosubmit() {
var destel = document.getElementById('action');
detel.name = 'name';
// destel.value = "something"; // to set a value
el.form..submit();
}
答案 1 :(得分:0)
除了潜在的一个看起来比另一个看起来“更漂亮”之外,它没有任何区别。但是你可能会对此感兴趣:
<button type="submit" name="action" value="copy">Click to copy</button>
<button type="submit" name="action" value="delete">Click to delete</button>
服务器只会根据您点击的按钮收到action=copy
或action=delete
。
此方法不依赖于JavaScript;)
答案 2 :(得分:-1)
我确实看到了你遇到的问题。你能说明问题出在哪里吗?
<input id="action" type="hidden" name="">
<button onClick="document.getElementById('action').setAttribute('name','copy'); alert(document.getElementById('action').getAttribute('name'));"> click me </button>