如何使用一个 JavaScript 函数管理两个表单
How to manage two forms with one javascript function?
我正在学习javascript,但我仍然没有读到可以回答我问题的书的章节,所以如果有人能把我放在正确的轨道上,我将不胜感激。
情况如下:
我正在使用jquery提交表单。但是我需要放置两种形式(相同类型但引用不同的对象),并且我想使用相同的 jquery 函数来提交我选择的表单。
这是 jquery 函数:
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$(".submit").click(function(){
var name = $("#student").val();
var mark = $("#mark").val();
var dataString = 'student='+ student + '&mark=' + mark;
$.ajax
({
type: "POST",
url: "records.php",
data: dataString,
success: function()
{
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}
});
return false;
});
});
</script>
这些是我想传递给上述函数的表单,具体取决于我单击的表单。
<form method="post" name="form">
<input type="hidden" id="student" name="student" value="Mandy" >
Mark: <input size="2" id="mark" name="mark" value="1" type="text">
<input type="submit" value="Submit" class="submit"/>
</form>
<form method="post" name="form">
<input type="hidden" id="student" name="student" value="Fred" >
Mark: <input size="2" id="mark" name="mark" value="1" type="text">
<input type="submit" value="Submit" class="submit"/>
</form>
谢谢
好吧,第一件事是第一件事 - 页面上的相同ID将无处可去。将 id on student
和 mark
更改为类(不必是唯一的):
<form method="post" name="form">
<input type="hidden" class="student" name="student" value="Mandy" >
Mark: <input size="2" class="mark" name="mark" value="1" type="text">
<input type="submit" value="Submit" class="submit"/>
</form>
<form method="post" name="form">
<input type="hidden" class="student" name="student" value="Fred" >
Mark: <input size="2" class="mark" name="mark" value="1" type="text">
<input type="submit" value="Submit" class="submit"/>
</form>
然后jQuery非常简单 - 找到最近的表单并查找学生并按班级评分(范围限定为表单):
$(".submit").click(function(){
var $form = $(this).closest('form');
var student = $(".student", $form).val();
var mark = $(".mark", $form).val();
var dataString = 'student='+ student + '&mark=' + mark;
$.ajax
({
type: "POST",
url: "records.php",
data: dataString,
success: function()
{
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}
});
return false;
});
现场示例:http://jsfiddle.net/6Lc8R/
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 单击时切换两个图像
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 基于两个条件退出While循环
- 如何在这里将两个值最低的数字相加
- 组合两个javascript函数
- 如何使用offer/answer交换来自两个对等连接的流
- jsf中两个字符串的颜色代码差异
- 加载两个具有相同父密钥名称的json文件
- 加载两个脚本块(使用lab.js作为加载管理器)
- 两个或多个功能的事件管理
- 如何使用一个 JavaScript 函数管理两个表单
- JavaScript:如何最有效地管理跨两个文件的数据导入
- 如何在谷歌跟踪代码管理器中触发两个不同的基于gtm.timer的事件
- 在ASP.. NET MVC,我怎么能有列表框来管理两个列表的内容
- 如何为一个对象管理两个键盘事件处理程序
- 当状态树的两个分支具有相同的选择器名称时,如何管理redux选择器