2015-04-27 2 views
0

У меня есть форму, которая вызывает onSubmit="return report();". У меня есть функция javascript в отдельном файле. Я хотел бы создать свой собственный jQuery UI Dialog вместо подтверждения javascript, но я вообще не понимаю jQuery. Как мне изменить отчет функции javascript() для получения диалогового окна JQuery UI?Создание диалогового окна JQuery UI после нажатия кнопки

Существует часть моего файла PHP:

<form method="POST" action="add.php" name="alert" id="alert" onSubmit="return report();"> 
    //some inputs 
    <button class='btn btn-primary' type='submit'>Send it</button> 

И мой JS файл:

function report() { 

    var report="Some text: \n\n"; 
    //There is code in simple javascript 

    raport=raport+"\n"; 
    raport=raport+"If the are no mistakes click OK"; 
    return confirm(report); 
    } 

ответ

1

Как я не друг рядный яваскрипта и вы хотите использовать JQuery я изменил ваш код немного.

Этот код свяжет событие-listiner на кнопке отправки и предотвратит действие по умолчанию (в этом случае отправьте). Если пользователь подтвердит диалог, событие-событие будет запущено вручную.

$('button[type=submit]').on('click', function (event) { 

    event.preventDefault(); 

    var $this = $(this); 
    var raport = "Some text: \n\n"; 
    //There is code in simple javascript 
    raport = raport + "\n"; 
    raport = raport + "If the are no mistakes click OK"; 

    $("#dialog-confirm").text(raport).dialog({ 
     modal: true, 
     buttons: { 
      "OK": function() { 
       $(this).dialog("close"); 
       $this.closest('form').submit(); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 

}); 

Demo

Справочник

jQuery-UI dialog

dialog - buttons

.text()

.on()

attribute-selector

.closest()

+0

Я не знаю, почему, но он не работает. Есть что-то вроде onSubmit в jQuery? –

+0

@ KasiaM что искусно не работает? – empiric

+0

Он переходит в $ ('button [type = submit]'). On ('click', function (event), но диалог не отображается. Это потому, что у меня есть мои js-функции в отдельном файле? Я включил этот файл в свой php-код –

Смежные вопросы