2013-04-18 36 views
0

我試圖製作一個表單,它將提交的值傳遞給外部URL並將結果顯示爲iframe。表單是主頁,結果也必須顯示在第一頁。將表單值提交到顯示的外部URL顯示的iframe

我提交它的Everery時間會返回404錯誤。

下面是代碼:

<form id="buscaAereo" method="POST" name="formularioAereo" action="<?php echo home_url('/'); ?>"> 
    <fieldset> 
     <div class="half"> 
      <label class="radio"> 
       <input type="radio" name="idaevolta" id="idaevolta" value="1" checked> 
       Ida e Volta 
      </label> 
     </div> 

     <div class="half"> 
      <label class="radio"> 
       <input type="radio" name="idaevolta" id="idaevolta" value="2" checked> 
       So ida 
      </label> 
     </div> 

     <div class="half"> 
      <label for="name">Origem:</label> 
      <input type="text" class="cidade" name="origem" data-provide="typeahead"> 
     </div> 
     <div class="half"> 
      <label for="name">Destino:</label> 
      <input type="text" id="cidade" name="destino" data-provide="typeahead"> 
     </div> 

     <div class="half"> 
      <label for="name">Data de ida:</label> 
      <div class="input-prepend"> 
       <span class="add-on"><i class="icon-calendar"></i></span> 
       <input class="sapn1" id="date" name="ida" type="text"> 
      </div> 
     </div> 

     <div class="half"> 
      <label for="name">Data de volta:</label> 
      <div class="input-prepend"> 
       <span class="add-on"><i class="icon-calendar"></i></span> 
       <input class="" id="date" name="volta" type="text"> 
      </div> 
     </div> 

     <div class="quarter"> 
      <label for="country">Adultos:</label> 
      <select id="country" name="adultos"> 
       <option value="0">00</option> 
       <option value="1" selected="selected">01</option> 
       <option value="2">02</option> 
       <option value="3">03</option> 
       <option value="4">04</option> 
       <option value="5">05</option> 
       <option value="6">06</option> 
       <option value="7">07</option> 
       <option value="8">08</option> 
       <option value="9">09</option> 
      </select> 
     </div> 
     <div class="quarter"> 
      <label for="country">Criancas:</label> 
      <select id="country" name="criancas"> 
       <option value="1" selected="selected">00</option> 
       <option value="1">01</option> 
       <option value="2">02</option> 
       <option value="3">03</option> 
       <option value="4">04</option> 
       <option value="5">05</option> 
       <option value="6">06</option> 
       <option value="7">07</option> 
       <option value="8">08</option> 
       <option value="9">09</option> 
      </select> 
     </div> 

     <div class="quarter"> 
      <label for="country">Bebes:</label> 
      <select id="country" name="bebes"> 
       <option value="1" selected="selected">00</option> 
       <option value="1">01</option> 
       <option value="2">02</option> 
       <option value="3">03</option> 
       <option value="4">04</option> 
       <option value="5">05</option> 
       <option value="6">06</option> 
       <option value="7">07</option> 
       <option value="8">08</option> 
       <option value="9">09</option> 
      </select> 
     </div> 

     <div class="quarter"> 
      <input type="submit" id="busca" name="submit" class="btn btn-primary botao" value="Pesquizar"> 
     </div> 
    </fieldset> 
</form> 

而且PHP代碼:

function buscaPassagem() { 
    if(isset($_POST['submit'])) { 
     $idaevolta = $_POST["idaevolta"]; 
     $origem = $_POST["origem"]; 
     $destino = $_POST["destino"]; 
     $ida = $_POST["ida"]; 
     $volta = $_POST["volta"]; 
     $adultos = $_POST["adultos"]; 
     $criancas = $_POST["criancas"]; 
     $bebes = $_POST["bebes"]; 

     $link = "http://www.portaldoagente.com.br/OTAFrame/SuiteAerea/guiAereoAeroportos.aspx?PesquisaAutomatica=S&Tipo="; 

     $UrlFinal = $link 
      .$idaevolta 
      ."&Origem=".$origem 
      ."&Destino=".$destino 
      ."&Adultos=".$adultos 
      ."&Criancas=".$criancas 
      ."&Bebes=".$bebes 
      ."&DataIda=".$ida 
      ."&DataVolta=".$bebes 
      ."&LojaChave=bG9qYXRlbXBvc3Jpbw=="; 

     echo "<script>window.open('$UrlFinal', 'meu_frame');</script>"; 
    } 
} 

有誰知道一個解決方案嗎?

+0

簡單的PHP它工作正常,但是當我嘗試提交它會返回一個錯誤。這是因爲WordPress的髮髻。 – user2295500

+0

這不是一個WordPress的具體問題。遷移到SO ... – EAMann

+0

@ user2295500嘗試剛剛發佈的新代碼。 –

回答

0

您必須將表單動作的目標定位到您的iframe。此外,該行動必須指出你的PHP代碼。 (第二條你的問題的代碼)

<form target='iFrame' id="buscaAereo" method="POST" name="formularioAereo" action="your_php_code"> 
    .... 
</form> 

<iframe id="iFrameID" name="iFrame"></iframe> 

編輯:試試這個代碼

JQuery的:

function enviar() 
{ 
    var link = "http://www.portaldoagente.com.br/OTAFrame/SuiteAerea/guiAereoAeroportos.aspx?PesquisaAutomatica=S&Tipo="; 

    var UrlFinal = link + $('input[name=idaevolta]:checked').val() 
     +"&Origem="+$("#origem").val() 
     +"&Destino="+$("#destino").val() 
     +"&Criancas="+$('#criancas :selected').val() 
     +"&DataIda="+$("#ida").val() 
     +"&DataVolta="+$("#volta").val() 
     +"&Bebes="+$('#bebes :selected').val() 
     +"&Adultos="+$('#adultos :selected').val() 
     +"&LojaChave=bG9qYXRlbXBvc3Jpbw=="; 
    $("#iFrameID").attr("src", UrlFinal); 
} 

HTML:

井田É沃爾

<div class="half"> 
     <label class="radio"> 
      <input type="radio" name="idaevolta" value="2" checked> 
      So ida 
     </label> 
    </div> 

    <div class="half"> 
     <label for="name">Origem:</label> 
     <input id="origem" type="text" class="cidade" name="origem" data-provide="typeahead"> 
    </div> 
    <div class="half"> 
     <label for="name">Destino:</label> 
     <input type="text" id="destino" name="destino" data-provide="typeahead"> 
    </div> 

    <div class="half"> 
     <label for="name">Data de ida:</label> 
     <div class="input-prepend"> 
      <span class="add-on"><i class="icon-calendar"></i></span> 
      <input class="sapn1" id="ida" name="ida" type="text"> 
     </div> 
    </div> 

    <div class="half"> 
     <label for="name">Data de volta:</label> 
     <div class="input-prepend"> 
      <span class="add-on"><i class="icon-calendar"></i></span> 
      <input class="" id="volta" name="volta" type="text"> 
     </div> 
    </div> 

    <div class="quarter"> 
     <label for="adultos">Adultos:</label> 
     <select id="adultos" name="adultos"> 
      <option value="0">00</option> 
      <option value="1" selected="selected">01</option> 
      <option value="2">02</option> 
      <option value="3">03</option> 
      <option value="4">04</option> 
      <option value="5">05</option> 
      <option value="6">06</option> 
      <option value="7">07</option> 
      <option value="8">08</option> 
      <option value="9">09</option> 
     </select> 
    </div> 
    <div class="quarter"> 
     <label for="criancas">Criancas:</label> 
     <select id="criancas" name="criancas"> 
      <option value="1" selected="selected">00</option> 
      <option value="1">01</option> 
      <option value="2">02</option> 
      <option value="3">03</option> 
      <option value="4">04</option> 
      <option value="5">05</option> 
      <option value="6">06</option> 
      <option value="7">07</option> 
      <option value="8">08</option> 
      <option value="9">09</option> 
     </select> 
    </div> 

    <div class="quarter"> 
     <label for="bebes">Bebes:</label> 
     <select id="bebes" name="bebes"> 
      <option value="1" selected="selected">00</option> 
      <option value="1">01</option> 
      <option value="2">02</option> 
      <option value="3">03</option> 
      <option value="4">04</option> 
      <option value="5">05</option> 
      <option value="6">06</option> 
      <option value="7">07</option> 
      <option value="8">08</option> 
      <option value="9">09</option> 
     </select> 
    </div> 

    <div class="quarter"> 
     <button onClick="javascript:enviar();">Pesquizar</button> 
    </div> 
</fieldset> 
<iframe id="iFrameID" name="iFrame"></iframe> 

希望這有助於。

+0

當我提交表單時,它會加載我在同一頁面(複印件) – user2295500

+0

因此,請將動作留空或#。 –

+0

已經嘗試過這一點,我沒有工作....有任何其他的解決方案?阿賈克斯可能? – user2295500