我使用MVC框架CodeIgniter
,FullCalendar
,Bootstrap
和Jquery
來創建網站。表單提交後停止JS重新加載頁面
日曆具有可點擊的事件,這些事件可打開包含表單的模式對話框。
窗體似乎工作,因爲控制器方法被正確調用和數據庫更新,但我想避免網站轉到其他頁面或提交表單後重新加載。
我試過幾種方法:
e.preventDefault();
return false;
更多...
這裏是關於模態對話框和形式的HTML:
<div class="modal-body">
<form id="myForm" action="<?=base_url()?>index.php/activite/planning_people" method="post">
<input type="hidden" id="date" name="date"/>
<input type="hidden" id="id" name="id"/>
<?php foreach ($people as $person) : ?>
<div class="checkbox">
<label><input type="checkbox" value="<?=$person['number']?>" name="people[]"><?= $person['firstname']." ".$person['lastname'] ?></label>
</div>
<?php endforeach; ?>
</div>
<div class="modal-footer">
<input class="btn btn-lg" type="submit" id="submitButton" value="Validate">
</form>
</div>
<div class="container">
<div id="bootstrapModalFullCalendar"></div>
</div>
這裏是針對的javascritpt eventClick
event:
eventClick: function(event) {
var inputs = document.getElementsByTagName('input');
$('#modalTitle').html(event.title+" "+moment(event.start).format('LL'));
$('#id').val(event.id.split(" ")[0]);
$('#date').val(event.id.split(" ")[1]);
$('#fullCalModal').modal();
}
});
$('#submitButton').submit(function(e) {
e.preventDefault();
$.ajax({
url: "<?=base_url("index.php/activity/planning_people")?>",
type: "POST",
data: $("myForm").serializeArray(),
success: function(data){
alert(data);
},
});
return false;
});
另外,t他沒有顯示成功警報。
控制器重定向到一個空白頁:
public function planning_people() {
$people = $this->input->post("people[]");
$id = $this->input->post("id");
$date = $this->input->post("date");
$this->EZ_query->delete_planning($id, $date);
if ($people != null) {
foreach ($encadrants as $key => $no) {
$this->EZ_query->add_planning($id, $date, $no);
}
}
}
我的問題已經解決了大量的時間,我已經查了很多同樣的問題的計算器頁面沒有成功的。請幫忙 !
感謝
它看起來像你創建每次點擊的東西時一個新的'submit'處理程序。什麼時候觸發eventClick? –
另外,不應該將'.submit(...)'方法應用於表單而不是按鈕? – DavidG
@MikeC'eventClick'每當用戶點擊日曆上的一個事件時觸發(用戶點擊「會議」從下午1點到3點) –