使用名为action的按钮获取表单操作

时间:2014-09-18 01:07:35

标签: javascript html forms

背景

使用VanillaJS获取HTML表单的action属性值。

代码

以下是代码和fiddle

<html>
<head>
  <script type='text/javascript'>
    function init() {
      alert( document.forms['form-load'].action );
    }
  </script>
</head>
<body onload="init();">
  <form name="form-load" id="form-load" action="http://google.com/q">
    <input name="query" id="query" type="text" />
    <button id="button-load" type="submit" name="action" value="load">Load</button>
  </form>
</body>
</html>

问题

对话框显示[object HTMLButtonElement]预计http://google.com/q的位置(使用Firefox 32)。

问题

如何检索表单的action属性值?

更新

以下问题可能有用:

2 个答案:

答案 0 :(得分:2)

给表单元素名称与标准表单属性或方法名称冲突是个坏主意。例如,避免为元素指定以下名称:submitmethodactionreset

如果必须,请使用.getAttribute()方法获取属性值:

function init() {
  alert( document.forms['form-load'].getAttribute("action") );
}

答案 1 :(得分:0)

我认为将属性name命名为“name”是一种不好的做法。为什么不使用id

function init() {
    alert( "By ID:" document.getElementById('form-load').getAttribute('action') );
}