Javascript ile sorun if ifadesi

1 Cevap php

Tamam, ben jquery ve php ile bir giriş ve kayıt paneli yapıyorum. Kaydı ile varsa hata Kısacası, bir kaç form hatalarını ayarlar kayıt sayfasına geri yönlendirir, javascript php değişken kullanımı ile hataları vardır algılar ve kendini göstermek için kaydırıcıyı zorlar.

Çalışma kodu: doc türü Üstü $errors = $form->num_errors; ve tüm $errors rutin çalışıyor.

Benim sorunum ben de formun başarıyla gönderilen bir doğrulama olması. Kullandığı

if(isset($_SESSION['regsuccess'])){
    $success = 1;
} else {
    $success = 0;
}

$success değişkeni ayarlamak için. Burada çılgın bir şey bu $error değişkeni olarak aynı rutin kullanarak çalışmıyor olmasıdır. Ben $success koşullu Ben Sayfanın altındaki dışarı yankılandı bir sahip olarak düzgün çalıştığını biliyorum.

jQuery slayt komut:

$(document).ready(function() {

    var num_errors = "<?php $errors; ?>";
    var form_success = "<?php $success; ?>";

    // Expand Panel
    $("#open").click(function(){
        $("div#panel").slideDown("slow");
    });
    // Collapse Panel
    $("#close").click(function(){
        $("div#panel").slideUp("slow"); 
    });     

    // Switch buttons from "Log In | Register" to "Close Panel" on click
    $("#toggle a").click(function () {
        $("#toggle a").toggle();
    });      

    //this part works
    if(errors>0){
        $("div#panel").slideDown();
        $("#toggle a").toggle();
    }

        //this part doesn't
    if(form_success>0){
        $("div#panel").slideDown();
        $("#toggle a").toggle();        
    }

});

Demo sayfası burada http://demo.ivannovak.com/danlogin/index.php

Öneriler duyacağız, teşekkürler!

1 Cevap

Sayfanızda, bu kısım çalışır neden bir errors değişken tanımlanmış, o var:

<script type="text/javascript" language="javascript"> 
<!--
errors = 0; // -->
</script> 

Sizin javascript dosyası php tarafından işlenir değil, bu web sunucusu tarafından doğrudan hizmet ediyor daki değişkenler yüzden ne yukarıda listelenen:

var num_errors = "<?php $errors; ?>";
var form_success = "<?php $success; ?>";

Bu müşteriye tam olarak bu şekilde çıkıp, onların değerleri ile değiştirilir. Eğer şimdi hatalar var sayfanızın içine bu 2 satır taşımak, ve de tırnak onları kaldırmanız gerekir. Lütfen js onları almak ve sayfanızda bu kullanın:

<script type="text/javascript" language="javascript"> 
  var num_errors = <?php $errors; ?>;
  var form_success = <?php $success; ?>;
</script>