2015-01-22 4 views
-2

Привет, пожалуйста, я новичок в javascript и ajax, и я прочитал, что для преобразования переменной javascript (на стороне клиента) в переменную php (server side) мы должны пройти AJAX. Пожалуйста, кто-то может дать тот же код с помощью AJAX. Здесь я использую плохой метод, но я просто размещаю этот код, чтобы показать, какова моя цель: когда пользователь выбирает идентификатор из тега select HTML, я хочу, чтобы информация о других появлялась во входных тегах (введите текст), чтобы он мог изменять информация вот мой исходный код:Как я могу сделать ту же функцию с помощью Ajax

<script type="text/javascript"> 

     document.getElementById('id').onchange = function(){ 
     var identifiant = document.getElementById('id').value; 

     <?php 
     $phpvar='"+identifiant+"'; 
     $sql="select * from inscrits where id=".$phpvar; 
     $res=mysql_query($sql) or die ('Unable to run query:'.mysql_error()); 
     $ligne=mysql_fetch_array($res); 


     ?> 

     //document.getElementById('nom').value ="<?php echo $phpvar;?>"; 

     document.getElementById('nom').value = "<?php echo $ligne['nom'] ?>"; 
     document.getElementById('prenom').value = "<?php echo $ligne['prenom'] ?>"; 
     document.getElementById('profession').value = "<?php echo $ligne['profession'] ?>"; 
     document.getElementById('etablissement').value = "<?php echo $ligne['etablissement'] ?>"; 
     document.getElementById('telephone').value = "<?php echo $ligne['telephone'] ?>"; 
     document.getElementById('email').value = "<?php echo $ligne['email'] ?>"; 
     document.getElementById('acceptation').value = "<?php echo $ligne['acceptation'] ?>"; 
     } 


</script> 

Пожалуйста оценить мою ситуацию я новичок в программирования JavaScript я просто начать работу , если это возможно, чтобы получить возможность отправлять мне код, который я могу использовать в одном page.php спасибо

+0

пытались ли вы что-нибудь? Почему вы назначаете свои ценности таким образом? – Jhecht

+1

Существует множество руководств по использованию ajax .. пусть Google будет вашим другом. То, о чем вы в основном просите, является тем, что вы можете написать весь код для вас, и это не так, как все работает здесь. – charlietfl

+0

Хорошо, спасибо за эти советы – Rodrigo

ответ

0

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

создать PHP файл lookupCustomer.php и добавить свой код PHP в нем с дополнительным изменением в I,

<?php 
     $phpvar = 'id'; 

     $sql="select * from inscrits where id=".$phpvar; 
     $res=mysql_query($sql) or die ('Unable to run query:'.mysql_error()); 
     $ligne=mysql_fetch_array($res); 
     print_r(json_encode($ligne)); 

     ?> 

Вот как вы называете сценарий PHP и обновить форму, опять же, это только упрощенный способ сделать эту логику,

<html> 
<head> 
    <title>EXAMPLE</title> 
    <script language="javascript" type="text/javascript"> 

    var xmlObj = (typeof window.ActiveXObject != 'undefined') 
    ? new ActiveXObject("Microsoft.XMLHTTP") 
    : new XMLHttpRequest(); 

    if (xmlObj == null) 
    alert("Error creating request object!"); 

    function getCustomerInfo() 
    { 
    var id = document.getElementById("id").value; 
    var url = "lookupCustomer.php?id="+ escape(id); 
    xmlObj.open("GET", url, true); 
    xmlObj.onreadystatechange = updatePage; 
    xmlObj.send(null); 

    //* using POST instead of GET, use this code 
    //var url = "lookupCustomer.php"; 
    //var req = "id="+ escape(id); 
    //req = req + "?dummy=" + new Date().getTime(); 
    //document.getElementById("order").value = url; 
    //xmlObj.open("POST", url, true); 
    //xmlObj.onreadystatechange = updatePage; 
    //xmlObj.send(null); 
    } 

    function updatePage() 
    { 
    alert(xmlObj.readyState+" "+xmlObj.status); 
    if (xmlObj.readyState == 4) 
    { 
     if (xmlObj.status == 200) 
     { 
     /* Get the response from the server */ 
     var customerAddress = xmlObj.responseText; 
     /* Update the HTML web form */ 
     var linqne = JSON.parse(this.responseText); 
     document.getElementById('nom').value   = linqne.nom; 
     document.getElementById('prenom').value  = linqne.prenom; 
     document.getElementById('profession').value = linqne.profession; 
     document.getElementById('etablissement').value = linqne.etablissement; 
     document.getElementById('telephone').value  = linqne.telephone; 
     document.getElementById('email').value   = linqne.email; 
     document.getElementById('acceptation').value = linqne.acceptation; 
     } 
     else 
     { 
     var customerAddress = xmlObj.responseText; 
     alert("Server return status error = "+xmlObj.status); 
     } 
    } 
    } 
    </script> 
</head> 

<body onLoad="document.forms[0].reset();"> 
    <p><img src="breakneck-logo.gif" alt="Break Neck Pizza" /></p> 
    <form method="POST" action="lookupCustomer.php"> 
    <p>Enter your id number: 
    <input type="text" size="14" name="id" id="id" onBlur="getCustomerInfo()" /> 
    <input type="text" size="20" name="nom" id="nom" /> 
    <input type="text" size="20" name="prenom" id="prenom" /> 
    <input type="text" size="20" name="profession" id="profession" /> 
    <input type="text" size="20" name="etablissement" id="etablissement" /> 
    <input type="text" size="20" name="telephone" id="telephone" /> 
    <input type="text" size="20" name="email" id="email" /> 
    <input type="text" size="20" name="acceptation" id="acceptation" /> 
    </p> 
    </form> 
</body> 
</html> 
+0

есть один erro в php-коде, – faljbour

+0

изменить первую строку на $ phpvar = $ _REQUEST ['Я бы']; – faljbour

+0

Большое вам спасибо @Frank, это то, что я действительно ищу. Еще раз спасибо – Rodrigo

Смежные вопросы