setAttribute没有值

时间:2014-05-06 19:25:24

标签: javascript html get setattribute

使用时:

<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 >

3 个答案:

答案 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=copyaction=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>

http://jsfiddle.net/g30rg3/ud6zT/