Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问表单数据url属性_Javascript_Php_Jquery_Ajax - Fatal编程技术网

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();
});