Javascript sonrası veri ile yeni bir sayfa yönlendirme

3 Cevap php

Ben bu yazı yöntemle veri ile bir html formu var

 'form  id='form1' name='form1' method='post' action='process.php'etc '

to a php page for processing into a mysql database . When the user has filled in the form BEFORE submitting it I have a button that the user can click to open up a new page to display a pdf of the data entered. The new pdf file is generated fine but what I need in it is the post data from the form. In the pdf page I can use POST to get the detail. What I need is a method of sending the data from the form to this new page without using the form tag above as it is needed for the processing of the form. What I am looking for is a js method to redirect to a new page with the post data intact

Herkes lütfen yardımcı olabilir misiniz? , Herhangi bir yardım çok takdir! Mick

3 Cevap

Ben ne demek istediğini biliyorum. Geçerli sayfayı / form tekrar yükleme veya eksik teslim olmadan, bir pop-up pencerede formu göndermek istiyorum.

Aslında bir adla açılan bir pencere açın ve bu yeni açılan pencerede formun hedefini ayarlayabilirsiniz. Sonra "_top" geri hemen değiştirmek ve ince olmalıdır.

Zaten değilse ben, jquery kullanarak öneriyoruz. O kadar çok daha uygulanabilir javascript yapar.

Genellikle önemli bir işlevsellik aracı olarak javascript kullanmaktan kaçınmak isteyeceksiniz, herkes sağladı, böylece komut kolayca bazıları için kırılmış olabilir, kötü zamanlar!

Bu izin orada bazı çerçeveler vardır, yönlendirme ve $ _POST değişkeni koruyarak, Kohana 3.0 basitçe denetleyicisi yazabilirsiniz biridir:

echo Request::factory('redirect location')->post($_POST)->execute();

Bu heres büyük bir makale javascript, kullanmadan yapayım bu nasıl çalıştığı hakkında daha fazla bilgi edinmek istiyorsanız: http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/

Umarım ki olur :)

Mesajı veri ile "yönlendirmek" için hiçbir yolu yoktur. Ayrı bir gizli form etiketini kullanın ve düğmesine diğer formu göndermek olabilir:

<form id="form1" name="form1" method="post" action="process.php">
  <!-- form1's inputs here -->
  <button type="button" onclick="document.getElementById('form2').submit()">
    Popup PDF!
  </button>
</form>
<form id="form2" name="form2" method="post" action="form.pdf">
   <input type="hidden" name="field1" value="some value" />
   <!-- etc... -->
</form>

Eğer farklı bir sayfaya aynı formu göndermek istiyorsanız Alternatif olarak, sadece değişebilir action, geçici nitelik ve sonra tekrar değiştirebilirsiniz:

document.getElementById("popupButton").onclick = function ()
{
    var frm1 = document.getElementById("form1");
    frm1.action = "myPDF.pdf";
    frm1.submit();
    frm1.action = "process.php";
}