为什么只发送一个表单?
问题描述:
我有这两种形式,我想通过一次点击发送它们。第一种形式将图像加载到服务器中。第二个将信息加载到数据库中。出于某种原因,总是只发送“myform”。有任何想法吗?为什么只发送一个表单?
<form action="uploadpic.php" method="POST" enctype="multipart/form- data" />
<input type="file" name="user_image" id="user_image" />
</form>
<form method = "post" id= "myform" name="myform" action = "<?php $_PHP_SELF ?>">
<table width = "400" border = "0" cellspacing = "1" cellpadding = "2">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#add").click(function() {
var $form1 = $("#myform");
$.post($form1.attr("action"), $form1.serialize(), function() {
alert('Form 1 elküldve');
});
$('form[name="user_image"]').each(function() {
var $form = $(this);
$.post($form.attr("action"), $form.serialize(), function() {
alert('Form 2 elküldve');
});
})
});
});
</script>
答
你同样可以用一个表格并发送你想让他们
<form action="uploadpic.php" method="POST" enctype="multipart/form- data" />
<input type="file" name="user_image" id="user_image" />
<table width = "400" border = "0" cellspacing = "1"
cellpadding = "2">
//... other form details
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#add").click(function() {
var $form1 = $("#myform");
$.post($form1.attr("action"), $form1.serialize(), function() {
alert('Form 1 elküldve');
});
$('form[name="user_image"]').each(function() {
var $form = $(this);
$.post($form.attr("action"), $form.serialize(), function() {
alert('Form 2 elküldve');
});
})
});
});
</script>
答
两个数据您需要修改您的JavaScript一点。 $('input[name="user_image"]').each(function() {
将迭代输入与name="user_image"
并得到它的形式。 (我想这是你正在尝试的)
<script type="text/javascript">
$(document).ready(function() {
$("#add").click(function() {
var $form1 = $("#myform");
$.post($form1.attr("action"), $form1.serialize(), function() {
alert('Form 1 elküldve');
});
$('input[name="user_image"]').each(function() {
var $form = $(this).parent('form');
$.post($form.attr("action"), $form.serialize(), function() {
alert('Form 2 elküldve');
});
})
});
});
</script>
但如果你有name="user_image"
只有一个输入元素,那么这是比较合适的:
<script type="text/javascript">
$(document).ready(function() {
$("#add").click(function() {
var $form1 = $("#myform");
$.post($form1.attr("action"), $form1.serialize(), function() {
alert('Form 1 elküldve');
});
var $form = $('input[name="user_image"]').parent('form');
$.post($form.attr("action"), $form.serialize(), function() {
alert('Form 2 elküldve');
});
});
});
</script>
你关闭掉第二种形式?看起来不像。 –
为什么你不只用一种形式来做?顺便说一句。正如弗雷德所说......你没有关闭第二个......而在我的观点中,你完全没有做过任何事情......完成无用的代码? – Twinfriends
* ... preeeetty mooch。* –