2016-04-16 2 views
1

, пожалуйста, мне нужен кто-то, кто поможет мне проверить, не хватает ли я чего-то. Форма в модуле Bootstrap не будет представлена.Bootstrap modal form submit не работает

моих HTML коды для модального (sidebar.php)

<!-- start Joel's modal --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
      <h4 class="modal-title">E-Logbook Entry</h4> 
     </div> 
    <div class="modal-body"> 
    <form id="modal-form" method="post" action="notes_functions.php"> 
     <fieldset>  
     <label>Log Entry</label> 
      <textarea rows="4" cols="50" class="form-control" name="note_content" placeholder="What have you learnt today?..."></textarea> 
    </form> 
</div> 
<div class = "modal-footer"> 
     <button type = "button" class = "btn btn-default" data-dismiss = "modal"> 
      Close 
     </button> 
     <input type="submit" name="submit" class="btn btn-default" id="submitnote" value="Submit" /> 
    </div> 
</div> 
</div> 
</div> 
<!-- end Joel's modal --> 

кода для файла PHP (notes_functions.php)

<?php 
include_once 'database-config.php'; 

if (isset($_POST['submitnote'])) { 

    $noteContent = strip_tags($_POST['note_content']); 

    $sql = "INSERT INTO account_notes (note_contents) VALUES ('$noteContent')"; 
    $dbh->exec($sql); 
    echo "New record created successfully"; 
    echo "Log details = ".$note_contents; 
} 
?> 

моих AJAX коды для отправки формы

<script type="text/javascript"> 
var frm = $('#modal-form'); 
frm.submit(function (ev) { 
    $.ajax({ 
     type: frm.attr('method'), 
     url: frm.attr('action'), 
     dataType: "JSON", 
     data: frm.serialize(), 
     success: function (data) { 
      alert('ok'); 
     } 
    }); 

    ev.preventDefault(); 
}); 
</script> 

Я не могу найти ошибку :-(

+0

'если (Исеть ($ _ POST [ 'отправить'])) {' вместо 'если (Исеть ($ _POST ['submitnote'])) {'потому что атрибут' name' кнопки отправки формы - 'submit' не' submitnote'. Атрибуты 'name' проходят через' POST', а не 'id'. Поэтому проверьте и исправьте для каждого –

+0

Я внес изменения, но все равно никакого эффекта. BTW, модальная функция запускается нажатием на дату из сценария календаря. Идея заключается в том, что при нажатии на дату, модальный вызов, то пользователь может заполнить форму в модальном формате и отправить в базу данных MySQL. '{script type =" text/javascript "> $ (document) .ready (function() { $ ('. responseive-calendar'). responsiveCalendar ({ onDayClick: function (events) {$ (" # myModal ") .modal();} }); }); ' – GeekBoi

ответ

0

Две вещи: -

1.Instead из if (isset($_POST['submitnote'])) { использования if (isset($_POST['submit'])) {

2.Put ev.preventDefault(); до $.ajax({

+0

Я внес эти исправления, но он все еще не работает. – GeekBoi

0

вашей кнопки представить не в форме. поместите его в форму или добавьте эту кнопку

form="modal-form" 

так:

<input type="submit" name="submit" class="btn btn-default" id="submitnote" value="Submit" form="modal-form" /> 
Смежные вопросы