这是我的身体,我想从不同的形式在同一时间同一按钮提交超过1个数据是可能的在php?我想要第一个表单发送选定的第二个表单发送文本值…
<body>
<div id="kategoriler">
<h4>Kategoriler</h4>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select name="mydropdown">
<option value="Oteller">Oteller</option>
<option value="Restaurant">Restaurant</option>
<option value="Cafe">Cafe</option>
<option value="Bar">Bar</option>
<option value="Köy">Köy</option>
</select>
</form>
</div>
<div id ="text">
<h4>Başlik</h4>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="baslik" value="" maxlength="100" />
<h4>Açıklama</h4>
<textarea rows="30" cols="70">
Buraya yazın...
</textarea>
</form>
</div>
<div id="bresim">
<h4>Başlik Resmi</h4>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<label for="file">Resmi Seçin:</label>
<input name="uploaded" type="file" />
</form>
</div>
<div id="ekle">
<input type="submit" name="submit" value="Eklemek için tıklayın!" />
</div>
</body>
如果你正在使用jQuery…
首先,给你的表单和提交按钮一些id(我用#form1, #form2和#submit)。然后…
Edit:这是一个非ajax解决方案,它利用了表单发送到相同URL的事实。
当点击提交按钮时,将文本输入$(input[name=baslik])
移动/追加到第二个表单中,然后提交。这个解决方案不需要jQuery表单插件,也不使用AJAX:
$("#form2").submit(function() {
$(input[name=baslik]).appendTo($(this));
});
原始的AJAX解决方案:
如果你想要AJAX,你可以使用jQuery表单插件。
$(document).ready(function() {
$('#form1, #form2').ajaxForm(function() {
// optionally do stuff here after forms submitted
});
$('#submit').click(function() {
$('#form1, #form2').ajaxSubmit();
return false;
});
});
你不能使用jQuery的$(form).serialize()
,因为它不能在文件字段上工作。此解决方案还假设您希望使用AJAX。
一种选择是强制使用javascript:启动一个javascript处理程序来收集值,提交ajax请求,甚至编写一个表单并提交它。
Jquery可以很容易地循环遍历所有表单值。比如:
$("#first_form").submit(function() {
//collect all values here
first_form_data = $("#first_form").serialize();
second_form_data = $("#second_form").serialize();
$.ajax({
url: ..,
data: first_form_data + "&" + second_form_data,
success: function(data) {
}
}
//let’s not submit the form
return false;
}
可以。
删除提交的输入,并在每个表单外添加一个链接。(也给每个表单添加一个ID,这样你就可以通过这个javascript调用它们)
function submitAll(){
document.forms["IDform1"].submit();
document.forms["IDform2"].submit();
}
编辑:这不起作用,唯一的方法是通过AJAX,请检查@Phil的答案!