当你使用这个时:
<input id="action" type="hidden" name="">
<button onclick="document.getElementById('action').setAttribute('name','copy'); document.getElementById('myForm').submit()">您可以在URL中得到以下内容:
file.php?copy=
但是当您使用普通输入时,所以没有setAtrribute:
<input id="action" type="hidden" name="copy">
你得到了这个(没有'=‘符号):
file.php?copy
我知道这是一个很小的区别,但是如何使用使用setAttribute来实现这个setAttribute呢?
发布于 2014-05-06 19:31:55
<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();
}发布于 2014-05-06 19:32:47
除了一个看起来比另一个更“漂亮”之外,没有什么不同。然而,您可能感兴趣的是,您可能会有这样的东西:
<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 ;)
发布于 2014-05-06 19:34:00
我看到你的问题了。你能指出问题发生在哪里吗?
<input id="action" type="hidden" name="">
<button onClick="document.getElementById('action').setAttribute('name','copy'); alert(document.getElementById('action').getAttribute('name'));"> click me </button>http://jsfiddle.net/g30rg3/ud6zT/
https://stackoverflow.com/questions/23503255
复制相似问题