通过文章[文件上传]将表单数据提交到iframe中 [英] submit form data into iframe via post [file upload]
问题描述
嗨。
我有一张表格。我想知道如何/如果我可以提交此表单到一个具有处理文件上传/命名的页面的iFrame。
如果我尝试了某些东西简单的就像发布输入/文本到表单一样,没有任何反应(处理程序被设置为回显$ _POST)。我曾尝试设置iframe名称/ ID等。人。并将表单目标设置为相应的iframe名称/ ID。当我点击提交时,iframe就像一个假人坐在那里。跆拳道我做错了吗?
Thx。
< form行动= /客户端/ testAddTrans /< = $ clientID的>? id =reportEditclass =EditNamemethod =POSTtarget =transFrame>
< div class =inputDiv>
< span class =inputLabel>说明:< / span>
< span class =textInput>
< input type =textid =transDescname =transDescvalue =size =40class =/>
< / span>
< / div>
< div class =inputDiv>
< span class =inputLabel>日期:< / span>
< span class =textInput>
< input type =textid =datename =transDatevalue =size =40class =/>
< / span>
< / div>
< div class =inputDiv>
< span class =inputLabel>档案:< / span>
< span class =textInput>
< input type =fileid =filename =transFilevalue =size =40class =/>
< / span>
< / div>
< input type =submitvalue =Submitname =submit/>
< input type =buttonclass =secondaryActiononclick =hideOverDiv()value =Close/>
< div id =overDivNoticeclass =overDivNoticestyle =display:none>< / div>
< iframe action =/ clients / testAddTrans /<?= $ clid?> id =transFramename =transFramestyle =>< / iframe>
< / form>
通过firebug生成html:
< div class =contentid =overDivContent>< div class =inputDivContainer>
< fieldset class =inputOverDivid =tfa_Names>
<图例>< b>添加传输:< / b>< / legend>
< div class =data>< form target =transFramemethod =POSTclass =EditNameid =reportEditaction =/ clients / testAddTrans / fsdf1556><< ; div class =inputDiv>< span class =inputLabel>描述:< / span>< span class =textInput>< input type =text 40value =name =transDescid =transDesc/>< / span>< / div>< div class =inputDiv>< span class =inputLabel>日期:< / span>< span class =textInput>< input type =textclass =size =40value =name =transDateid =date/> ;< / span>< / div>< div class =inputDiv>< span class =inputLabel>文件:< / span>< span class =textInput>< input type =fileclass =size =40value =name =transFileid =file/>< / span>< / div>< input type =hidden value =121name =name_id/>
< / form>< br />
< div align =centerclass =actionsid =overDivActions>
< input type =submitname =submitvalue =Submit/>
< input type =buttonvalue =Closeonclick =hideOverDiv()class =secondaryAction/>
< / div>
< div style =display:none; class =overDivNoticeid =overDivNotice>
< / div>< / div>
< iframe style =name =transFrameid =transFrame> tyh< / iframe>
< / fieldset>
< / div>< / div>
我不知道为什么要将< / form>
标签在哪里..它应该是在iframe之后,但无论如何。这甚至很重要吗? iframe应该在表单内吗?
不错,我错了。我发现了问题。
首先使用html写入html;
使用下面的代码工作:
用于'testSubmitiFrame.html':
< form target =transFramemethod =POSTclass =EditNameid =reportEditaction =testSubmitiFrame.php>
< div class =contentid =overDivContent>
< div class =inputDivContainer>
< fieldset class =inputOverDivid =tfa_Names>
<图例>< b>添加传输:< / b>< / legend>
< div class =data>
< div class =inputDiv>
< span class =inputLabel>说明:< / span>
< span class =textInput>< input type =textclass =size =40value =name =transDescid =transDesc/>< /跨度>
< / div>
< div class =inputDiv>
< span class =inputLabel>日期:< / span>
< span class =textInput>< input type =textclass =size =40value =name =transDateid =date/>< /跨度>
< / div>
< div class =inputDiv>
< span class =inputLabel>档案:< / span>
< span class =textInput>< input type =fileclass =size =40value =name =transFileid =file/>< /跨度>
< / div>
< input type =hiddenvalue =121name =name_id/>
< br />
< div align =centerclass =actionsid =overDivActions>
< input type =submitname =submitvalue =Submit/>
< input type =buttonvalue =Closeonclick =hideOverDiv()class =secondaryAction/>
< / div>
< div style =display:none; class =overDivNoticeid =overDivNotice>< / div>
< / div>
< / fieldset>
< / div>
< / div>
< / form>
< iframe style =name =transFrameid =transFrame> tyh< / iframe>
代表'testSubmitiFrame.php':
<?php
var_dump($ _ POST);
?>
您的问题是html语法。这有效。
UGH.
Hi.
I have a form. I'd like to know how/if I could submit this form to an iFrame that has the page that will handle the file upload/naming.
If I try even something simple like post an input/text to the form, nothing happens (the handler is set to echo the $_POST). I have tried setting the iframe name/id et. al. and setting the form target to the respective iframe name/id. When I hit submit, the iframe just sits there like a dummy. WTF am I doing wrong?
Thx.
<form action="/clients/testAddTrans/<?=$clientID?>" id="reportEdit" class="EditName" method="POST" target="transFrame">
<div class="inputDiv">
<span class="inputLabel">Description:</span>
<span class="textInput">
<input type="text" id="transDesc" name="transDesc" value="" size="40" class=""/>
</span>
</div>
<div class="inputDiv">
<span class="inputLabel">Date:</span>
<span class="textInput">
<input type="text" id="date" name="transDate" value="" size="40" class=""/>
</span>
</div>
<div class="inputDiv">
<span class="inputLabel">File:</span>
<span class="textInput">
<input type="file" id="file" name="transFile" value="" size="40" class=""/>
</span>
</div>
<input name="name_id" type="hidden" value="<?=$itemid?>" />
<input type="submit" value="Submit" name="submit"/>
<input type="button" class="secondaryAction" onclick="hideOverDiv()" value="Close"/>
<div id="overDivNotice" class="overDivNotice" style="display:none"></div>
<iframe action="/clients/testAddTrans/<?=$clid?>" id="transFrame" name="transFrame" style=""></iframe>
</form>
Generated html via firebug:
<div class="content" id="overDivContent"><div class="inputDivContainer">
<fieldset class="inputOverDiv" id="tfa_Names">
<legend><b>Add Transmittal:</b></legend>
<div class="data"><form target="transFrame" method="POST" class="EditName" id="reportEdit" action="/clients/testAddTrans/fsdf1556"><div class="inputDiv"><span class="inputLabel">Description:</span><span class="textInput"><input type="text" class="" size="40" value="" name="transDesc" id="transDesc"/></span></div><div class="inputDiv"><span class="inputLabel">Date:</span><span class="textInput"><input type="text" class="" size="40" value="" name="transDate" id="date"/></span></div><div class="inputDiv"><span class="inputLabel">File:</span><span class="textInput"><input type="file" class="" size="40" value="" name="transFile" id="file"/></span></div><input type="hidden" value="121" name="name_id"/>
</form><br/>
<div align="center" class="actions" id="overDivActions">
<input type="submit" name="submit" value="Submit"/>
<input type="button" value="Close" onclick="hideOverDiv()" class="secondaryAction"/>
</div>
<div style="display: none;" class="overDivNotice" id="overDivNotice">
</div></div>
<iframe style="" name="transFrame" id="transFrame">tyh</iframe>
</fieldset>
</div></div>
I don't know why it is putting the </form>
tag where it is.. It is supposed to be after the iframe, but whatever. Does that even matter? Is the iframe supposed to be inside the form?
Nice, I was wrong.. I found the problem. First use html for write html; With the code below works:
for 'testSubmitiFrame.html':
<form target="transFrame" method="POST" class="EditName" id="reportEdit" action="testSubmitiFrame.php">
<div class="content" id="overDivContent">
<div class="inputDivContainer">
<fieldset class="inputOverDiv" id="tfa_Names">
<legend><b>Add Transmittal:</b></legend>
<div class="data">
<div class="inputDiv">
<span class="inputLabel">Description:</span>
<span class="textInput"><input type="text" class="" size="40" value="" name="transDesc" id="transDesc"/></span>
</div>
<div class="inputDiv">
<span class="inputLabel">Date:</span>
<span class="textInput"><input type="text" class="" size="40" value="" name="transDate" id="date"/></span>
</div>
<div class="inputDiv">
<span class="inputLabel">File:</span>
<span class="textInput"><input type="file" class="" size="40" value="" name="transFile" id="file"/></span>
</div>
<input type="hidden" value="121" name="name_id"/>
<br/>
<div align="center" class="actions" id="overDivActions">
<input type="submit" name="submit" value="Submit"/>
<input type="button" value="Close" onclick="hideOverDiv()" class="secondaryAction"/>
</div>
<div style="display: none;" class="overDivNotice" id="overDivNotice"></div>
</div>
</fieldset>
</div>
</div>
</form>
<iframe style="" name="transFrame" id="transFrame">tyh</iframe>
for 'testSubmitiFrame.php':
<?php
var_dump($_POST);
?>
Your problem is html syntax. This works.
这篇关于通过文章[文件上传]将表单数据提交到iframe中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!