Javascript 访问表单数据url属性
我有一个如下设置的表单标签:Javascript 访问表单数据url属性,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个如下设置的表单标签: <form data-id="213" method="post" onsubmit="javascript: startAjax(); return false;"> <input type="submit" value="submit"> </form> 当我提交表单时,我正在运行一个ajax脚本来验证一些东西。如何访问ajax脚本中的“数据id”属性 我尝试了$(this).data(“id”),但它返回的是未定义的。
<form data-id="213" method="post" onsubmit="javascript: startAjax(); return false;">
<input type="submit" value="submit">
</form>
当我提交表单时,我正在运行一个ajax脚本来验证一些东西。如何访问ajax脚本中的“数据id”属性
我尝试了$(this).data(“id”),但它返回的是未定义的。有人知道怎么做吗
谢谢 你试过了吗
$(this).attr('data-id')
?您可以将$(此)
传递给您的startAjax()
函数(请参阅@Satpal answer)或使用jquery事件(这会更好):
HTML:
<form data-id="213" method="post" id="my-form">
<input type="submit" value="submit">
</form>
$(document).ready(function() {
$("#my-form").submit(function(e) {
alert($(this).data('id');
e.preventDefault();
});
});
您需要将此
传递给startAjax()
函数
<form data-id="213" method="post" onsubmit="javascript: startAjax(this); return false;">
<input type="submit" value="submit">
</form>
因为您已经在使用jQuery。那你应该用
你确定这是你的表单吗?Show使用相关的javascript…当$(this.data(“id”)
不起作用时,为什么这会起作用?你会感到惊讶。我的办公室只有jQuery1.4,作为一名实习生,我不能更新东西,出于某种原因,我只能访问form.attr(“data dayOrder”)中的数据属性。我们有IE8,但最新的Firefox仍然不起作用。$(此)
在startAjax()
范围内不可用,因此使用什么方法没有区别:data()
或attr()
。所以这个答案是完全错误的,不知道谁能给它投票。我碰巧在过去使用“数据”检索dom属性时遇到了一些问题,这些属性以前没有用相同的方法存储过,这就是为什么我建议这样做。Hast,你是对的,我的错误。只是按照原始海报的线索,假设范围内有$(这个)
function startAjax(obj){
var id = $(obj).data('id')
//rest of your code
}
$("form").submit(function (event) {
var id = $(this).data('id');
event.preventDefault();
});