Я новичок в MVC и в настоящее время работает над базовой настройкой веб-сайта. Я пытаюсь открыть модальное окно, где можно ввести некоторые данные, а затем нажать кнопку «Отправить», чтобы отправить его обратно в базу данных.Ajax modal form validation and submit
Использование CodeIgniter и this Jquery Modal (необязательно, должно быть, это одно). Снова я очень новичок в MVC, поэтому у меня возникли проблемы с визуализацией потока данных.
Модаль открывается правильно, но я пытаюсь отобразить валидацию/ошибки в том же модальном состоянии, не открывая новое окно. Что бы я разместил около echo("error-ajax");
, открытие окна, похоже, приведет к открытию нового окна.
View - открывает модальный:
...
<a href="<?php echo site_url("bondform/view_form"); ?>" rel="modal:open" class="fa fa-plus"></a>
...
View - Actual форма:
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<h3>New</h3>
<p>
<label>ID: <input class="pull-right" type="text" name="idnumber" value="<?php echo set_value('idnumber'); ?>" size="9"/></label>
</p>
<div><input type="submit" value="Submit" /></div>
</form>
<script>
$(function(){
$('form').submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
async: false,
url: "<?php echo site_url("bondform/save_form"); ?>",
success: function(){alert('Succes');},
error: function(){alert('Error');}
});
});
});
</script>
Контроллер:
<?php
class Bondform extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$config = array(
array(
'field' => 'idnumber',
'label' => 'Id Number',
'rules' => 'trim|required|min_length[9]|max_length[9]|xss_clean'
)
);
$this->form_validation->set_rules($config);
}
public function view_form()
{
$this->load->view('bond/form');
}
public function save_form()
{
if ($this->form_validation->run() == FALSE)
{
if ($this->input->is_ajax_request())
{
echo("error-ajax"); //placeholder, debug
}
else
{
echo("error-noajax"); //placeholder, debug
}
}
else
{
echo("succes-close"); //placeholder, debug
}
}
}
Большое спасибо,
Спасибо, это должно заставить меня начать. –