0

私はこのフォームを持っています:

<form onsubmit="serverconnect('Div1', 'query.php'); return   
false;" 
Minimum Discount: <br />
<input type="radio" value="20%" name="discount" /> 20% <br />
<input type="radio" value="15%" name="discount" /> 15% <br />
<input type="radio" value="10%" name="discount" /> 10% <br />
<input type="radio" value="5%" name="discount" /> 5% <br />
<input type="submit" value="Refine Search" />
</form>

送信時に、フォームは次の ajax スクリプトを呼び出します

<script language="javascript" type="text/javascript">


var xmlhttp = false;


if (window.XMLHttpRequest)
{
    xmlhttp = new XMLHttpRequest(); 
}
else if (window.ActiveXObject)
{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}


function serverconnect(divID, datalocation)
{
var1=$clickvalue;
if(xmlhttp)
{
    var obj = document.getElementById(divID);
    xmlhttp.open("GET", datalocation);

    xmlhttp.onreadystatechange = function()
    {
        if (xmlhttp.readyState == 4 &&
        xmlhttp.status == 200)
        {
        obj.innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.send(null); 
}

}
</script>

jqueryライブラリを使用せずに、フォームデータをquery.phpページ(ajaxが出力するもの)に渡して出力を変更する必要があります。

関数が呼び出すページにajax関数を介してフォームデータを渡す方法はありますか?

4

1 に答える 1

4

はい、を使用してフォームデータを渡すことができますajax。メソッドのみを使用しGETているため、このようなページにデータを埋め込む必要があります

<input type="radio" value="20%" name="discount" id="discount" /> 20% <br />


var obj = document.getElementById(divID);
var disc = document.getElementById("discount");
xmlhttp.open("GET", datalocation + "?disc="+disc);

query.php では、データ$_GET['disc']を取得するために使用しgetます。

于 2012-10-02T03:28:06.090 に答える