jquery formu eklentisi &

3 Cevap php

Orada benzer sorular SO, ancak bu adresi gibi yok.

Aşağıda benim durumun çok basitleştirilmiş bir çeşididir. Drupal / PHP sitesi - Ben teslim ajax-ly için jquery.form eklentisi kullanıyorum Gönder düğmesini w / bir form var. Ben (# submit) göndermek düğmesini kullanabilirsiniz eğer iyi çalışır.

Şimdi, programlı formun dışında başka bir düğme (# submit2) kullanarak bu düğmeye ateş etmek istiyorum. Ben beklediğiniz gibi jquery tıklayın () işlevini kullanarak, ama içerik geri geliyor ajax hedefe gitmiyor yapabilirsiniz.

Başka i would, bu kodu yeniden düzenlemek için çok özgürlüğü yok.

(Ben src-ing jquery ve benim web sitesinden form eklentisi ile çalıştırmak için bu kod kolay yapmaya çalıştım unutmayın.)

Fikirler? Teşekkürler!

<?php
if ($_REQUEST['submit'] == 'Submit') {
    print 'ajax returns ... ' . $_REQUEST['text']; 
    exit; 
}
?>
<html>
<head>
    <script type="text/javascript" src="http://enjoy3d.com/scripts/jquery-1.2.6.js"></script>
    <script type="text/javascript" src="http://enjoy3d.com/scripts/jquery.form.js"></script>
    <script type="text/javascript">
        $(function() {
            $('#form').ajaxForm( { target: $('#span') } );
            $('#submit2').click( function() { $('#submit').click(); } );
        });
    </script>
</head>
<body>
    <span id='span'>target span</span>
    <form method='post' id='form'>
        <input type='text' name='text' size='50' />
        <input type='submit' id='submit' name='submit' value='Submit'/>
    </form>
    <input type='submit' id='submit2' name='submit2' value='Submit Too?' />
</body>
</html>

3 Cevap

Ben sizinkine benzer bir durumu çözmek için başardı. Submit1 bir tıklama simüle tek amacı formu göndermek için ise, deneyebilirsiniz:

$('#submit2').click(function() {
    $('#form').trigger('submit');
});

Siz de hemen formu düğmesini tıklatın olay kodu göndermek olmayan formundan Gönder düğmesini tetikleme sonra return false gerekebilir. Örneğin:

<script type="text/javascript">
  $(function() {
    $('#form').ajaxForm({ target: $('#span') });
    $('#submit2').click(function() { $('#submit').click(); return false; });
  });
</script>

Bu benim için çalışıyor. Eğer bu sizin için ne arıyorsanız var mı?

Eğer forma adını veren denenmiş ve yerine gelmiş

$('#submit2').click( function() { $('#submit').click(); } );

$('#submit2').click( function() { document.myForm.submit(); } );

Bu formu ajaxified olup olmadığını Gönder düğmesine tıklandığında sahip olarak aynı şeyi yapmalıyız.