我有一个PHP页面(page.php),我用它来将数据发布到我的数据库中。我正在使用表单方法post将数据发送到我的数据库。在<form>
内,我有第二个<form>
用于上传图片。
但是当我点击Upload
时,外部<form>
会发布:action="./submit.php"
。
有人知道如何解决这个问题吗?
这是我的剧本:
page.php文件
<form name="reaction" method="post" action="./submit.php">
//multiple textboxes
//upload script
<form name="newad" method="post" enctype="multipart/form-data" action="page.php">
<table style="width:100%">
<tr><td><input type="file" name="image" value="Choose file"></td></tr>
<tr><td><br /><input name="Submit" class="btn2" type="submit" value="Upload"></td></tr>
</table>
</form>
<button type="submit">Post page</button>
</form>
答案 0 :(得分:0)
好吧Ryan是对的,你<form>
里面<form>
我的建议是改变html结构,或者用一个动作把它变成一个<form>
,也许你可以将功能拆分为submit.php
答案 1 :(得分:0)
你不能在HTML.Follow this指令中使用这样的嵌套表单来更好地解决PHP中的表单处理问题。
答案 2 :(得分:0)
您可以在一个表单中使用两个提交按钮,每个按钮都可以有不同的formaction
来指定提交位置。
<form name="reaction" method="post" enctype="multipart/form-data">
//multiple textboxes
//upload script
<table style="width:100%">
<tr><td><input type="file" name="image" value="Choose file"></td></tr>
<tr><td><br /><input name="Submit" class="btn2" type="submit" value="Upload" formaction="page.php"></td></tr>
</table>
<button type="submit" formaction="submit.php">Post page</button>
</form>
两个按钮都会提交所有表单字段,但这两个脚本可以忽略他们不关心的字段。
答案 3 :(得分:0)
<强>建议:强>
第1步:分开每个表格
第2步:给每个表单一个id
第3步:使用jquery's $.ajax()将表单发布到各自的目标网址
Ajax调用示例:
$("#ajaxform").submit(function(e)
{
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax(
{
url : formURL,
type: "POST",
data : postData,
success:function(data, textStatus, jqXHR)
{
//data: return data from server
},
error: function(jqXHR, textStatus, errorThrown)
{
//if fails
}
});
e.preventDefault(); //STOP default action
e.unbind(); //unbind. to stop multiple form submit.
});
来自hog的代码我懒得写一个