在javascript中获取表单名称

时间:2015-08-04 05:18:39

标签: javascript jquery

<form name="FNAME">  
    <div id="div1">  
        <ul id="ul1"><li id="li1"><a href="" onclick="getValue(this);">Click</a>  </li></ul>
    </div>  
</form>  

<script type="text/javascript">
    function getValue(elem) {
        formName = $(elem.form.name).val();
        alert(formName);
    }
</script>

我想获取上述代码的表单名称:
        使用上面的代码确定formName未定义         我如何在javascript函数中获取表单名称的值?

3 个答案:

答案 0 :(得分:3)

由于您使用jQuery进行跨浏览器支持

function getValue(elem) {
  var formName = $(elem).closest('form').attr('name')
  alert(formName);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form name="FNAME">
  <div id="div1">
    <ul id="ul1">
      <li id="li1">
        <a href="" onclick="getValue(this); return">Click</a> 
      </li>
    </ul>
  </div>
</form>

答案 1 :(得分:2)

尝试使用closest()之类的,

function getValue(elem)    
{    
    formName=$(elem).closest('form').attr('name');  
    alert(formName);  
} 

function getValue(elem) {
  formName = $(elem).closest('form').attr('name');
  alert(formName);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="FNAME">
  <div id="div1">
    <ul id="ul1">
      <li id="li1"><a href="" onclick="getValue(this);">Click</a> 
      </li>
    </ul>
  </div>
</form>

或者,使用jquery,

绑定click事件
$(function(){
   $('#li1').on('click','a',function(e){
      e.preventDefault();
      alert($(this).closest('form').attr('name'));
   });
});

$(function(){
   $('#li1').on('click','a',function(e){
      e.preventDefault();
      alert($(this).closest('form').attr('name'));
   });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="FNAME">
  <div id="div1">
    <ul id="ul1">
      <li id="li1"><a href="" onclick="getValue(this);">Click</a> 
      </li>
    </ul>
  </div>
</form>

答案 2 :(得分:0)

只需来自表格标签。

var formName = $('form')[0].name; alert(formName);