posta yoluyla iframe'e form verilerini göndermek [dosya yükleme]

5 Cevap php

UGH.

Merhaba.

Ben bir formu var. Ben dosya yükleme / adlandırma idare edecek sayfası vardır bir iFrame için bu formu göndermek eğer nasıl / bilmek istiyorum.

Ben gibi forma bir giriş / yazı, hatta basit bir şey denerseniz, hiçbir şey (işleyicisi $ _POST yankı ayarlanır) olur. Ben iframe adı / id et ayarı denedim. al. ve ilgili iframe adı / id formu hedef belirleme. Ben teslim vurduğunda, iframe sadece bir kukla gibi orada oturuyor. WTF ben yanlış yapıyorum?

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>

Kundakçı yoluyla html Oluşturulan:

    <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>

O .. O iframe sonra olması gerekiyordu, ama ne olursa olsun olduğunu </form> etiketi koyarak neden bilmiyorum. Bile önemi var mı? Iframe form içinde olması gerekiyordu?

5 Cevap

Nice, I was wrong.. I found the problem. First use html for write html; With the code below works:

'testSubmitiFrame.html' için:

    <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>

'testSubmitiFrame.php' için:

<?php
var_dump($_POST);
?>

Senin sorunun html sözdizimi. Bu çalışıyor.

Görünüşe göre, yersiz olan bir div ya da aptal fieldset etiket çalışmasını şey engel oldu. Gerçekten lazım sana güzel insanları rahatsız önce kodumu kontrol başlar.

Yine de teşekkürler.

Sizin mantık kurulum, bir test sayfası geçerli olabilir görünür?

This page will do what you want, so you may want to look through it and see what may be different from what you are already doing: http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml

Işlem yapacak html php dosyası eylemi mi?

Ben çünkü bu iki satır olduğunu düşünüyorum:

echo "</div>";
echo "</div><br>

Hiçbir açılış etiketleri ile <div> kapatıyoruz. Işe yaramıyor neden olan, sizin gönderme düğmesi form içinde değildir - Bu Firefox <form> erken kapatmak yapıyor.

Sadece HTML kalanı geçerli olduğunu ve çalışması gerekir emin olun - form içinde veya dışında iframe pozisyonu önemli değildir.