Ajax ve PHP ile Form doğrulama - javascript fonksiyonu kullanmak için PHP bir değişken döndürür

2 Cevap php

Şimdiye kadar ilk defa jQuery ile Ajax kullanıyorum. Ben bir html giriş var ve bir kullanıcı tıkladığında ve daha sonra tip bir şey ve odak bulanıklıklar, ben kullanıcı girişi doğrulamak için bir php komut dosyası çağırmak için jquery kullanıyorum.

Ben PHP değişkeni almak ve jQuery bunu karşılaştırmak için nasıl anlamaya çalışıyorum. Bana herhangi bir tavsiye verin

Şu anda odak bulanıklık zaman, görüntülerin her ikisi de görebilir.

Şimdiden teşekkürler!

Html:

<label for="FirstName">First Name</label>
     <input type="text" name="FirstName" title="First Name Here" id="firstName" />
     <img class="thumb" id="up" src="Images/thumbs_up_48.png" />
     <img class="thumb" id="down" src="Images/thumbs_down_48.png" />

CSS

img.thumb {
 visibility:hidden;
 height:0;
 width:0;
}
img.thumbV {
 visibility:visible;
 height:20px;
 width:20px;
 float:right;
}img.thumbNV {
 visibility:visible;
 height:20px;
 width:20px;
 float:right;
}

JQuery:

$(document).ready(function() {
 //my attempt at ajax using jQuery
 $("#firstName").change(function() {
  sendValue($(this).val());
  $("img").removeClass('thumb').addClass('thumbV');
 });


 function sendValue(str) {
 $.post("ajax.php", {sendValue: str}, 
 function(data) {
  if(data.returnValue === true) {
   $("#up").removeClass('thumb').addClass('thumbV');
  }
  else {
   $("#down").removeClass('thumb').addClass('thumbNV');
  }
  //$("#ajax").html(data.returnValue);
 }, "json");
}

});

ve PHP:

<?php 

$choice = false;

if(isset($_POST['sendValue'])) {
 $value = $_POST['sendValue'];
 if(preg_match('/^[a-zA-Z]$/', $value)) {
  $choice = true;
 }

}

echo json_encode(array("returnValue"=>$choice));

?>

2 Cevap

Ben şu anda ne var dururdu.

Şu anda, ben daha iyi bir yolu olup olmadığını görmek, ama şimdi ne var gayet iyi görünüyor olamaz.

Garip görünen bir çizgi vardır:

$("img").removeClass('thumb').addClass('thumbV');

Eğer sınıf başparmak kaldırmak ve tüm etiketleri sınıf thumbV eklemek, onları görünür hale anlamına gelir. Temel olarak bir tanesi olduğu anlamına class="thumbNV thumbV" ve diğer sahiptir class="thumbV"

Eğer başka bir şey için sınıfları kullanmayı düşünmüyorsanız ben sadece yapıyor öneririz

img.thumb { display: none; height:20px; width:20px; }

ve sonra sadece jQuery'nin $('#up').hide() ve $('#down').show() yöntemleri kullanın.