Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript][AJAX]Blokowanie pola formularza.
gylopl
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 6.04.2008

Ostrzeżenie: (0%)
-----


Witam!
Mam skrypt, który wyswietla mi dane poprzez ajax, chcialbym aby po wybraniu optiona 2,3 badz 4 blokowal sie formularz.
plik ajax.php
  1. <?php
  2. echo'<script src="ajax.js"></script>';
  3. echo'<form>
  4. Wybierz osobę:
  5. <select id="k" onchange="showUser(this.value)">
  6. <option value="1">wybierz droge</option>
  7. <option value="2">Idę prosto</option>
  8. <option value="3">Idę w prawo</option>
  9. <option value="4">Idę w lewo</option>
  10. </select>
  11. </form><div id="txtHint"></div><br><br>
  12.  
  13. ';
  14. ?>


Do pliku getajax.php dodalem
Kod
   var k = document.getElementById(k);
         k.disabled=true;

jednak to mi nie chce zadzialac;/

plik getajax.php
  1. <?php
  2. $q=$_GET[&#092;"q\"];
  3. if($q == 1){
  4.    echo 'Wybierz drogę!';
  5. }
  6. else if($q == 2){
  7.    echo 'Idziesz prosto
  8.    <script type=\"text/javascript\">
  9. var k = document.getElementById(k);
  10. k.disabled=true;
  11. !';
  12.    ?>
  13.    
  14.    }else if($q == 3){
  15.    echo'Idziesz w prawo
  16.    <script type=\"text/javascript\">
  17. var k = document.getElementById(k);
  18. k.disabled=true;
  19. ';
  20. }else if($q == 4){
  21.    echo'Idziesz w lewo
  22.    <script type=\"text/javascript\">
  23. var k = document.getElementById(k);
  24. k.disabled=true;
  25. ';
  26. }else{
  27.    
  28. }
  29. ?>


plik ajax.js

Kod
     var xmlHttp
        
         function showUser(str)
         {
         xmlHttp=GetXmlHttpObject()
         if (xmlHttp==null)
          {
          alert ("Browser does not support HTTP Request")
          return
          }
         var url="getajax.php"
         url=url+"?q="+str
         url=url+"&sid="+Math.random()
         xmlHttp.onreadystatechange=stateChanged
         xmlHttp.open("GET",url,true)
         xmlHttp.send(null)
         }
        
         function stateChanged()
         {
         if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
          {
          document.getElementById("txtHint").innerHTML=xmlHttp.responseText
          }
         }
        
         function GetXmlHttpObject()
         {
         var xmlHttp=null;
         try
          {
          // Firefox, Opera 8.0+, Safari
          xmlHttp=new XMLHttpRequest();
          }
         catch (e)
          {
          //Internet Explorer
          try
           {
           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
           }
          catch (e)
           {
           xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
           }
          }
         return xmlHttp;
         }

http://equipment.cba.pl/ajax/ajax.php stronka z formularzem


prosze o pomoc!

Ten post edytował gylopl 30.06.2009, 19:10:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
michal_robak
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

Ostrzeżenie: (0%)
-----


Nie ma tu chyba za wiele co kombinować. Dajesz po prostu w pliku ajax.js w tej funkcji showUser(str) na jej końcu taką linijkę:

  1. <?php
  2. document.getElementById('k').disabled=true;
  3. ?>


i powinno być po kłopocie. Plik getajax.php powinien ci tylko służyć do wypisywania tekstu. Pozdrawiam

EDIT
AHA I POPRAW PLIK getajax.php bo w takiej formie jak przedstawiłeś nie ma prawa działać.

Ten post edytował michal_robak 30.06.2009, 19:38:09
Go to the top of the page
+Quote Post
gylopl
post
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 6.04.2008

Ostrzeżenie: (0%)
-----


Cytat(michal_robak @ 30.06.2009, 20:32:32 ) *
Nie ma tu chyba za wiele co kombinować. Dajesz po prostu w pliku ajax.js w tej funkcji showUser(str) na jej końcu taką linijkę:

  1. <?php
  2. document.getElementById('k').disabled=true;
  3. ?>


i powinno być po kłopocie. Plik getajax.php powinien ci tylko służyć do wypisywania tekstu. Pozdrawiam


ale jak wybiore "wybierz droge" to tez zablokuje formularz, co zrobic zeby blokowalo jak wybiore prosto,prawo,lewo?

Cytat(michal_robak @ 30.06.2009, 20:32:32 ) *
EDIT
AHA I POPRAW PLIK getajax.php bo w takiej formie jak przedstawiłeś nie ma prawa działać.


co poprawic?bo nie bardzo znam ajaxa:) sciagnalem ten caly skrypt z neta i przerobilem zeby pobieral dane z ifow, a nie bazy danych.

dzieki za odpowiedz robak:)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 19:56