Nasıl Bir form javascript ile submited olup olmadığını kontrol etmek?

4 Cevap php

Ben böyle bir formu göndermek bu geleneksel gönderme düğmesi var:

<form method="post" id="form_submit">
...
<input class="button" type="submit" name="Submit" value="Submit">
</form>

Gönder düğmesi bunu kullanarak tıklandığında eğer ben kontrol edin:

if(isset($_POST['Submit'])){
   //update DB
}

Şimdi Jquery kullanarak bir gönderme bağlantı var:

<a href="#" onclick="publish(); return false;">Submit</a>

JS kodu:

$("#form_submit").submit();

Ben javascript kullanarak formu göndererek yaşıyorum beri if(isset($_POST['Submit'])) burada kullanılmak üzere burada alternatif yolu nedir?

4 Cevap

Ben doğru anlamak, bu deneyin:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
 // your code.........
}

Her zaman teslim alacak formu gizli bir girişi <input type="hidden" name="formsubmit" value="yes" /> ekleyebilir ve düğme yerine bunun için kontrol etmelidir (which only gets submitted if it is clicked on ..)

Ben sadece gizli giriş türünü değiştirebilirsiniz Sorunu doğru anlasalardı.

<form method="post" id="form_submit">
...
<input type="hidden" name="Submit">
</form>

$ _POST ['Gönder'] değişkeni tanımlı olacaktır.

En iyi çözüm "bunu yapmayın" dir. Bir formu göndermek istiyorsanız o zaman (sayfanın üstüne bir köprü üzerine tıklayarak bir yan etkisi olarak bunu yapmayın) Gönder düğmesini kullanın. Çalıştırmak istediğiniz herhangi bir JavaScript sonra formun submit halinde ele alınabilir.

Eğer gerçekten bir yan etki olarak bunu yapmak istiyorsanız, o zaman set olacak biliyorum başka bir alanın varlığını kontrol edin. İsterseniz belirli bir ad / değer kombinasyonu biri olacak sağlamak için gizli bir alan ekleyebilirsiniz.