这是一个包含表单的普通HTML文件,它有一些子标签,代码的一部分:
<form name="search" action="/cgi-bin/MAPSEARCH2" method="get" onsubmit="var the_result = checkMapNumbers();
return the_result;">
<input type="hidden" name="LOCAL" value="ALE">
<table width="700">
<tbody>
<td width="20">
<input type="radio" name="ORDER" value="NAM" checked=""></td>
<td width="100" valign="top"><font style="color:#330099;">Owner´s Name:</font></td>
</tbody></table>
</form>
我想做的就是在这个所有类型的“输入”标签上添加一个点击功能:并返回两个值:
其父亲“形式”的“方法”和“行动”属性。
以下是我的JS代码:
$(document).ready(function(){
$("input").click(function(){
var a=$(this).parents("form").method;
var b=$(this).parents("form").action;
$("#test1").text("parents.name:"+ a+ "parents.action"+b);
});
});
但是在浏览器中单击任何输入元素后,方法和操作值的输出是“未定义”。如何返回正确的功能。
答案 0 :(得分:4)
var a=$(this).parents("form").method;
使用简单的native DOM:
var a = this.form.method;
或proper jQuery:
var a = $(this).parents("form").prop('method');
action
属性相同。
答案 1 :(得分:2)
使用.prop(),它会获取属性的值
var a=$(this).closest("form").prop('method');
var b=$(this).closest("form").prop('action');
答案 2 :(得分:1)
试试这个,
$(document).ready(function(){
$("input").click(function(){
var a=$(this).closest("form").attr("method");
var b=$(this).closest("form").attr("action");
$("#test1").text("parents.name:"+ a+ "parents.action"+b);
});
});