lolek Δημοσ. 23 Μαΐου 2011 Δημοσ. 23 Μαΐου 2011 έχω μια φόρμα αναζήτησης με text και radio buttons.δεν μπορώ να στείλω τα δεδομένα της φόρμας σε ένα php αρχειο που θα γίνει η αναζήτηση στη βάση. >function showHint() { var str = document.getElementById("search").value; var test = document.getElementsByName("r1"); for (i = 0; i < test.length; i++) { if (test[i].checked) parameter = test[i].value; } if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } http.open("GET","results.php?q="+params+" &p="+parameter, true); xmlhttp.send(); } </script>
hkosmidi Δημοσ. 23 Μαΐου 2011 Δημοσ. 23 Μαΐου 2011 λίγο πρωτόγονος ο τρόπος αυτός Δοκίμασε το jquery framework. αν πχ έχεις κάτι του στυλ: <form id="lalaForm" ...>.....</form> τότε μπορείς να κάνεις (δεν το θυμάμαι απ' έξω αλλα περίπου): > <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function () { $.ajax({ url: 'myPHPpage.php', data: $('#lalaForm').serialize(); success: function(data) { alert(data);} }); }); </script> αν εκτελεστεί σωστά τότε στο success: function(data) το data θα έχει το output της σελίδας που εκτέλεσες.
Uberalles_gr Δημοσ. 23 Μαΐου 2011 Δημοσ. 23 Μαΐου 2011 > <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function () { $.ajax({ type: "POST", url: 'myPHPpage.php', data: $('#lalaForm').serialize(); success: function(data) { alert(data);} }); }); </script> Βάζεις και το εάν θες POST ή GET Όσον αφορά το 1ο Post έχεις ένα αρχείο Με όλες τις functions σου και γράφεις > 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; } //ME POST function Ajax_Product(pr_id,subject,keimeno) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } xmlHttp.open("POST", "includes/myphp.php", true); //set t he proper headers: xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); //send the request with the value of the container in the PHP variable $_POST['foo'] xmlHttp.send("pr_id="+pr_id+"&subject="+subject); //when I get a response back, run the processMenuXML function xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { var data = xmlHttp.responseText; } } } //Άλλος Τρόπος function AjaxCategories(cat_id,page) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } url="includes/show_categories.php?cat_id="+cat_id+"&page="+page; url=url+"&sid="+Math.random() xmlHttp.onreadystatechange= function () { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { var data = xmlHttp.responseText; document.getElementById("CategoriesForm").innerHTML = data; } } xmlHttp.open("GET",url,true); xmlHttp.send(null); }
lolek Δημοσ. 23 Μαΐου 2011 Μέλος Δημοσ. 23 Μαΐου 2011 βασικά έκανα ένα λάθος στην περιγραφή.Όταν στη φόρμα έχω μόνο το text και αντίστοιχα στην συνάρτηση της ajax αυτά που πρέπει, είναι όλα καλά και μου εμφανίζονται τα αποτελέσματα που θέλω. Το πρόβλημα είναι όταν πάω να στείλω τις τιμές των radio buttons.Τροποποιώ τον κώδικα όπως είναι παραπάνω αλλά μετά δεν δουλεύει τίποτα.
Uberalles_gr Δημοσ. 23 Μαΐου 2011 Δημοσ. 23 Μαΐου 2011 Ωραία, αφού εντοπίσαμε ποιο είναι το πρόβλημα ορίστε και η λύση > for (var i=0; i < document.ΟΝΟΜΑ_ΦΟΡΜΑΣ.ΟΝΟΜΑ_ΠΕΔΙΟΥ.length; i++) { if (document.ΟΝΟΜΑ_ΦΟΡΜΑΣ.ΟΝΟΜΑ_ΠΕΔΙΟΥ[i].checked) { var ΟΝΟΜΑ_ΠΕΔΙΟΥ= document.ΟΝΟΜΑ_ΦΟΡΜΑΣ.ΟΝΟΜΑ_ΠΕΔΙΟΥ[i].value; } }
lolek Δημοσ. 23 Μαΐου 2011 Μέλος Δημοσ. 23 Μαΐου 2011 ευχαριστω! Με εβγαλες απο αδιεξοδο.Δουλεύει τωρα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.