<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函数中获取表单名称的值?
答案 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);