0
我正在论坛上工作。我想验证客户端的表单,但是我很困惑在提交表单之前验证。函数jquery返回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 2015-02-06 14:45:13
当写在textarea上,并提交表单它不woking第一次点击我不知道为什么,但我当我点击第二次表单submited – 2015-02-06 15:27:36