Я работаю на форуме. Я хочу проверить форму на стороне клиента, но я смущен ho для проверки перед отправкой формы.on function jquery return false
Я использовал функцию, но когда он возвращает false, я хочу показать что-то пользователю.
Вот мое мнение:
<?php
if($this->session->userdata('email')){
echo form_open('forum/reply');//session form start here
?>
<?php echo validation_errors(); ?>
<div class="media">
<div class="media-left media-middle pull-left">
<a href="#">
<img class="media-object" src="<?php echo base_url('assets/pics') ?>/<?php echo $this->session->userdata('profile_pic') ?>" alt="<?php echo $row->first_name . nbs(2) . $row->last_name ?>">
</a>
</div>
<div class="media-body">
<textarea name="message" class="text_reply"></textarea>
<?php
$submit = array(
'name' => 'reply' ,
'value' => 'reply' ,
'id' => 'reply' ,
'class'=> 'btn btn-primary'
);
echo form_hidden('id',$id);
echo form_submit($submit);
echo form_close();?>
</div>
</div>
<?php }//session form ends here
?>
Javascript код:
$('form').on('submit', function() {
var reply = $ ('.text_reply').val();
if(reply != ''){
}else{
return false;
}
});
Мой контроллер:
public function reply(){
$this->form_validation->set_rules('reply', 'Answer', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->topic();
}
else
{
$data['topic_id'] = $this->input->post('id');
$data['reply_text'] = $this->input->post('message',TRUE);
$data['user_id'] = $this->session->userdata('u_id');
$data['reply_date'] = date('M/d/y');
$query = $this->mod_forum->reply($data);
if ($query) {
$this->session->set_flashdata('t_id', $this->input->post('id'));
redirect('forum/topic');
} else {
echo 'something woring please contact admin.';
}
}
}
К сожалению только заметил ваш код! = в нем, но он по-прежнему работает т он же, просто убедитесь, что у вас есть то, что вы хотите сделать, если оно пустое в нужном месте. Важная часть заключается в том, что вы препятствуете отправке формы, пока она не будет действительной. – Jordan
при написании на textarea и отправьте форму, не запивая при первом щелчке, я не знаю, почему, но я, когда я нажимаю вторую форму времени, отправил –