Форма, отправляющая даже электронное письмо, уже показывающее Jquery - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь проверить доступность электронной почты с помощью jQuery и затем показать сообщение о доступности электронной почты.

Сообщение отображается успешно, но форма также отправляется. Я просто хочу, если я получу сообщение о доступности электронной почты, то Форма не должна отправляться. Как я могу это сделать?

public function check_emailp()
{
  $email = $_POST['emailid'];
  $record['data']=$this->Home->check_emailsd($email);
  if ($record['data']=="taken")
  {
    echo "<span style='color:red'> Email already exit .</span>";
  }
  else
  {
    echo "<span style='color:green'> Email Availiable.</span>";
  }
}
function checkemailAvailability() {
  $("#loaderIcon").show();
  var url = '<?php echo base_url(); ?>';
  jQuery.ajax({
    url: url + 'index.php/register/check_emailp',
    data: 'emailid=' + $("#email").val(),
    type: "POST",
    success: function(data) {
      alert(data);
      $("#email-availability-status").html(data);
      $("#loaderIcon").hide();
    },
    error: function (){}
  });
}
  <form name="myForm"  id ="myForm" action="<?php echo site_url('register/update_info'); ?>" method="POST" enctype="multipart/form-data">
        <input type="text" name="email" id="email"  placeholder="Enter a Location" class="form-control" onBlur="checkemailAvailability()">
      </div>
      <?php //echo form_error('userName'); ?>
      <span id="email-availability-status"></span>
    </div>
    <button type="submit" name="submit" class=" form-control btn btn-info btn-lg hoj-blue-light login-reg-btn bold post-a-job-btn">Sign Up</button>
  </form>
</div>

Ответы [ 3 ]

0 голосов
/ 07 июня 2019

1.Используйте onClick="checkemailAvailability()" вместо onBlur="checkemailAvailability()"

2.Лучший способ проверить ajax-ошибку с php:

$temp_array = array(); //Create temp array to store messages
//if error code will be here
$temp_array['error'] = "You error comment";

//if success code will be here
$temp_array['success'] = "You success comment";

echo json_encode($temp_array);

3. При успешном выполнении запроса:

success: function(data) {
      //Parse json data
      var obj = JSON.parse(data);
      if(obj.error)
      {
        //Show error message code will be here
        e.preventdefault();
        return false;
      }
      else
      {
        //show success message code will be here
      }
},
0 голосов
/ 07 июня 2019

попробуйте этот код

public function check_emailp() { $email = $_POST['emailid']; $record['data']=$this->Home->check_emailsd($email);

if ($record['data']=="taken") { echo 0; } else { echo 1; } }

function checkemailAvailability() { $("#loaderIcon").show(); var url = '<?php echo base_url(); ?>'; jQuery.ajax({ url: url + 'index.php/register/check_emailp', data: 'emailid=' + $("#email").val(), type: "POST", success: function(data) {

//alert(data); if(data==0) { var msg='<span style='color:red'> Email already exit .</span>'; } else { var msg='<span style='color:green'> Email Availiable.</span>'; } $("#email-availability-status").html(msg); $("#loaderIcon").hide(); }, error: function (){}

}); }

0 голосов
/ 07 июня 2019

Вы можете реализовать это двумя способами,

Проверка доступности электронной почты при отправке

Проверяя электронную почту, когда form submit вместо input onBlur.

<form onSubmit='return checkemailAvailability()'>

И ваш JS должен быть таким,

function checkemailAvailability() {

 // your implementiations
 // let's say the variable exist is the status

  if (exist) {
     return false;
  } else {
     return true;
  }

}

Установка переменной и проверка ее при отправке

ваша форма

<form onSubmit='return checkForm()'>

Ваш JS

var emailExist = false;


    function checkemailAvailability() {

     // your implementiations
     // let's say the variable exist is the status

      if (exist) {
         emailExist = true;
      }

    }

   function checkForm() {

     return emailExist;

   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...