Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript][AJAX]Formularz
Forum PHP.pl > Forum > Przedszkole
Maniek1313
Witam wszystkich mam pewien problem a mianowicie nie chcą się dane przesłać do pliku php z formularza przez ajax w konsoli pokazuje że mam błąd z funkcję send();

index.html
  1. <title>Sprawdź</title>
  2. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  3. <script type="text/javascript" language="JavaScript" src="ajax.js"></script>
  4. <script type="text/javascript" language="JavaScript" src="formualrz.js"></script>
  5. </head>
  6. <h1>Sprawdź</h1><hr>
  7. <div id="form">
  8. <form name="formularz">
  9. <center>ID<input type="text" name="id" size="20"></center>
  10. <input type="hidden" name="hidd" value="3211">
  11. </form>
  12. </div>
  13. <div id="form">
  14. <input type="button" value="Sprawdź id" onclick=send()>
  15. </div>
  16. <hr><br><br>
  17. <div id="status">
  18. Dodaj wpis
  19. </div>
  20. </body>
  21. </html>


ajax.js
  1. var req = null;
  2.  
  3. function sendRequest(url,id){
  4. req = initXMLHttpRequest();
  5.  
  6. if(req){
  7. var p = document.getElementById(id);
  8. req.onreadystatechange = function(){
  9. if(req.readyState == 4){
  10. p.innerHTML = req.responseText;
  11. }
  12. }
  13.  
  14. req.open("GET",url);
  15. req.setRequestHeader("Content-Type", "application/x-www-from-urlencoded");
  16. req.send(null);
  17. }
  18. }
  19.  
  20. function sendRequestPost(url,id,params){
  21. req = initXMLHttpRequest();
  22.  
  23. if(req){
  24. var p = document.getElementById(id);
  25. req.onreadystatechange = function(){
  26. if(req.readyState == 4){
  27. p.innerHTML = req.responseText;
  28. }
  29. }
  30.  
  31. req.open("POST",url,true);
  32. req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
  33. req.send(params);
  34. }
  35. }
  36.  
  37. function initXMLHttpRequest(){
  38. var xRequest = null;
  39.  
  40. if(window.XMLHttpRequest){
  41. xRequest = new XMLHttpRequest()
  42. }else if(window.ActiveXObject){
  43. xRequest = new ActiveXObject("Microsoft.XMLHTTP");
  44. }
  45. return xRequest;
  46. }
  47.  
  48. function onReadyState(){
  49.  
  50. }


formularz.js
  1. function PrepareParams(form){
  2. var parametry = new Array();
  3.  
  4. for(var i=0;i<form.elements.length;i++)
  5. {
  6. if((nazwa = from.elements[i].name) && (wartosc = from.elements[i].value))
  7. parametry.push(nazwa+'='+encodeURIComponent(wartosc));
  8. }
  9. return parametry.join("&");
  10. }
  11.  
  12. function send(){
  13. var params = PrepareParams(document.formularz);
  14.  
  15. for (var i=0;i<document.formularz.elements.length;i++)
  16. document.formularz.elements[i].value='';
  17. sendRequestPost("insert.php","status" ,params);
  18. }


insert.php
  1. <?php
  2. echo $_POST['id'];
  3. ?>
darko
Wypadałoby podać treść błędu. Bez analizowania kodu na pierwszy rzut oka widać, że tu:
if((nazwa = from.elements[i].name) && (wartosc = from.elements[i].value))
pomylono form z from. Pytanie tylko co to jest u Ciebie nazwa i wartosc ?
// edit
i jeśli porównujesz dwie wartości to porównuj (==), nie przypisuj (=)
amii
Nie tak: onclick=send()
tylko tak: onclick="send();"

Lepiej używaj jQuery do tego typu celów, prostszy kod, lepsza zgodność i większa czytelność.
Maniek1313
Ja robię na postawię kursu

Wgrałem pliki na serwer http://www.maniek13.myshell.pl/test/
johny_s
Cytat


jak sie pisac nie umie to tak wychodzi wink.gif
literowke zrobiles to nie dziwota ze funkcji znalesc nie potrafi
Maniek1313
Działa biggrin.gif niby taka prosta rzecz a trudno było znaleźć biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.