2013-01-25 3 views
1

이 함수를 사용하여 양식에 선택된 값을 표시하고 있습니다. 결과는 내 페이지에 제대로 표시되지만 getlist.php 페이지에는 아무 것도 보내지 않습니다.jquery showValues ​​() 데이터를 다른 페이지에 게시하는 방법

누군가 제발 나를 도와 줄 수 있습니까?

jQuery 코드 :

function showValues() { 
    var str = $("form").serialize(); 
    $("#results").text(str); 
} 

$(":checkbox, :radio").click(showValues); 
$("select").change(showValues); 
showValues(); 

$.post("getlist.php", $("form").serialize()); 

HTML : 여기

<p><tt id="results"></tt></p> 

은 내 양식

<form id="Moteur" onchange="testMoteur()"> 
<table cellspacing="0" cellpadding="5" bgcolor="#Be9e55"> 
<tr height="30px"> 
<td align="right">Marques : </td> 
<td><? include ("marques.php"); ?></td> 
</tr> 
</table> 
</form> 

과 marques.php 코드

<select name="marques" id="marques" multiple="multiple"> 
<? 
//<option value="x">Toutes les marques :</option> 
?> 
<? 
mysql_connect("","",""); 
mysql_select_db(""); 
$query = mysql_query("SELECT * FROM marque WHERE flag_montre=1 ORDER BY nom ASC"); 
while ($myrow = mysql_fetch_row($query)) { 
$id_marque=$myrow[0]; 
//test si marque est vide 
$res3=mysql_query("SELECT * FROM montre WHERE id_marque=$id_marque AND id_etat=3"); 
$nbreLignes = mysql_num_rows($res3); 
if ($nbreLignes==0){ 
} 
else { 
echo "<option value='".$myrow[0]."'>".$myrow[1]." (".$nbreLignes.")</option>"; 
} 
} 
        ?> 
</select> 

방금 ​​스크립트를 업데이트했습니다. 모두 Firefox에서 잘 작동하지만 ie8 (0 errors)에는 아무런 변화가 없습니다.

$.post("getlist.php", $("#form").serialize()); 

또는이 경우 양식 클래스가 이것을 시도 :이 스크립트의 목적은

function SendMoteur() { 

var xmlhttp = ""; 
var url = ""; 

// For modern browsers 
if(window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 

// for IE 5/6 
} else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

// Rebuild the array of selected option boxes 
marques = document.getElementById("marques"); 
for(var i=0; i < marques.length; i++) { 
    if(marques[i].selected) { 
     // Note the [] after the name 
     url += "&marques[]=" + marques[i].value; 
    } 
} 

fourchettes = document.getElementById("fourchettes"); 
for(var i=0; i < fourchettes.length; i++) { 
    if(fourchettes[i].selected) { 
     // Note the [] after the name 
     url += "&fourchettes[]=" + fourchettes[i].value; 
    } 
} 

mouvements = document.getElementById("mouvements"); 
for(var i=0; i < mouvements.length; i++) { 
    if(mouvements[i].selected) { 
     // Note the [] after the name 
     url += "&mouvements[]=" + mouvements[i].value; 
    } 
} 

boitiers = document.getElementById("boitiers"); 
for(var i=0; i < boitiers.length; i++) { 
    if(boitiers[i].selected) { 
     // Note the [] after the name 
     url += "&boitiers[]=" + boitiers[i].value; 
    } 
} 

bracelets = document.getElementById("bracelets"); 
for(var i=0; i < bracelets.length; i++) { 
    if(bracelets[i].selected) { 
     // Note the [] after the name 
     url += "&bracelets[]=" + bracelets[i].value; 
    } 
} 


xmlhttp.open("GET","getlist.php?" + url, false); 
xmlhttp.send(); 

if (xmlhttp.status == 200) { 
    document.getElementById("txtHint2").innerHTML = xmlhttp.responseText; 
} else { 
    return false; 
} 

return false; 
} 
</script> 
+0

form_id도 우리에게 당신의 HTML (양식) 코드를 보여 .. – bipen

답변

0

이 올바른 jQuery를하여 양식이 시도 내 getlist.php에 배열 바르를 보내는 것입니다 :

$.post("getlist.php", $(".form").serialize()); 

또한 getlist.php 파일이 현재 파일과 동일한 폴더에 있는지 확인하십시오. 양식에

주고 자료 :

+1

그는 말했다'showValues ​​()'기능 제대로 작동하므로'$ ("form")'- 클래스 나 ID가 없습니다. – Archer

+0

모든 파일이 같은 폴더에 있습니다 – user2010500

0

왜이 equavalent 하나를 사용 해달라고

function showValues() { 
var str = $("#form_id").serialize(); 
$("#results").text(str); 

$.ajax({ 
    type: "POST", 
    url: "getlist.php", 
    data: {data: str}, 
}).done(function(){ 
    alert('yiha, worked!'); 
}); 
} 
+0

답장을 보내 주지만 아무 것도 getlist.php에 보내지 않습니다. – user2010500

+0

print_r ($ _ POST); 내 getlist.php에서 serialize 된 var가 전송되었는지 확인하는 좋은 방법이 아닐 수도 있습니다! – user2010500

관련 문제