【问题标题】:get Form Name in javascript在javascript中获取表单名称
【发布时间】:2015-10-26 09:09:29
【问题描述】:
<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 函数中获取表单名称的值?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

简单地来自表单标签。

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

【讨论】:

    【解决方案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 的点击事件绑定,

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

    【讨论】:

    • 查看我的工作 sn-p。也试试我的替代解决方案,它会为你工作。
    【解决方案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>

    【讨论】:

    • 对于 elem.form.name 显示错误,因为无法读取属性 'name' 和 $(elem).closest('form').attr('name') 值仍显示未定义
    • 它在这里工作,但在我的代码中显示错误让我再次检查
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多