<?PHP
$attributes = array('class' => "profile_form", 'id' => "profile_form",'name'=>"profile_form");
echo form_open_multipart("$form_action",$attributes);
?>
<LABEL for='email'>E-Mail</LABEL>
<INPUT type='text' id='email' name="email" class="w200" value='<?PHP echo $email;?>' remote="<?PHP echo base_url()."php/unique_email.php?id=$id"; ?>">
<DIV class='ca clr-lr'>
<input type="submit" id="submitbutton" name="submitbutton" value="<?PHP echo $title;?>" class="pr mbutton"/>
</DIV>
</FORM>
иJQuery Validate удаленная проверка работает только при изменении поля
rules: {
email: {
required:true,
email:true
}
}
Это код, я использую, чтобы проверить поле электронной почты. Он отлично работает, если я изменил поле электронной почты или набрал новое значение, но если я просто отправлю форму, это даст мне ошибку. После краткого осмотра выяснилось, что кнопка отправки не включена в почтовые данные, если я не редактирую поле электронной почты.
Что я делаю неправильно, пожалуйста, помогите.
И вот мой код контроллера, он может помочь расширить область отладки. Я проверяю, является ли submitbutton частью данных сообщения или нет.
if($this->input->post('submitbutton') !== false){
if ($this->form_validation->run('admin_profile_form') == FALSE){
$form=(array)$this->input->post();
$data=array_merge($form,$data);
}else{
//database fields
$database = array(
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('mobile')
);
$user_id=$user->id;
$this->db->where('id',$user_id);
$this->db->update('users',$database);
$this->session->set_flashdata('message_type', 'info');
$this->session->set_flashdata('message', 'Profile updated');
redirect($this->homepage);
return;
}
}
И, наконец, решение, предложенное Фабио Антунесом, сработало.
Я изменил правила следующим образом и удалить встроенный удаленный от поля ввода
email: {
required:true,
email:true,
remote: {
url: "php/unique_email.php",
async: false,
type: "post",
data: { id: $('#edit_id').val() }
}
}
Пожалуйста, не обращайте на меня внимания, но что это будет делать. Я прошу убедиться, что это не будет другие части моего кода. –
Это всегда будет проверять вашу форму на отправке, я надеюсь, что это то, что вы хотите – Cris
Это не сработало :( –