我最近刚刚开始使用JQuery和AJAX。我正在练习使用JQuery在表单提交时获取表单值,并使用AJAX通过PHP脚本处理数据。这一切都运行得很好,也就是说,直到我向页面添加了另一个表单。无论我提交什么表单,页面上第一个表单的数据都会被提交。如何从正在提交的表单中仅选择表单和值?
下面是我的代码:
<html>
<head>
<title> JQUERY and AJAX </title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<!-- JQUERY script to submit the form without page refresh !-->
<script>
$(document).ready(function() {
$("form").submit(function() {
var name = $("input#name").val();
var dataString = 'name='+ name;
$.ajax({
type: "POST",
url: "ajax_submit.php",
data: dataString,
});
$("input#name").val("");
return false;
});
});
</script>
</head>
<body>
<form name="form" action=""/>
<input type="text" name="name" id="name" autocomplete="off"/>
<input type="submit" name="submit" id="submit"/>
</form>
<form name="form" action=""/>
<input type="text" name="name" id="name" autocomplete="off"/>
<input type="submit" name="submit" id="submit"/>
</form>
</body>
</html> 谢谢!
发布于 2013-07-08 05:02:42
你知道如何使用css选择器吗?您可以将css选择器用作jquery选择器。这意味着,如果您给每个表单一个id属性,您可以在以后像这样选择它:
$('#the_forms_id').submit();其中form id是您为表单选择的html属性,如下所示
<form name="form" action="" id = "the_forms_id"/>只需使用php设置不同的表单id
此外,请注意,您可以使用几乎任何您能想到的css选择器,也可以使用特定于jquery的选择器。你可以看到他们的here。
如果你不知道如何使用基本选择器,可以参考this指南。
如果您希望选择动态创建的表单(如您所评论的),则实现取决于添加表单的方式以及需要捕获表单的方式。您可以使用php动态地为它们提供不同的ids (例如使用计数器)。
此外,当存在一些元素时,您可以使用jquery选择器来选择第一个或最后一个元素(或任何其他元素)。查看the :last selector:
$('form :last').serialize().submit()https://stackoverflow.com/questions/17516291
复制相似问题