が奇妙な問題に直面してデータを取得するフォーム要素をスタイリングする際に問題が発生しました。特に選択要素。フォーム要素のスタイルを設定しようとしたときに、ajax
アイデアは簡単です。私は1つのselectを取得し、その状態が変化すると、ajaxを介して、2番目のselectがそのデータを要求にスローします。これまでのところ、すべてが大丈夫です。アヤックスは正常に動作しています。最初の選択がその状態を変えると、選択要素のスタイリングが通常のスタイリングに戻ります。
ライブの例では、2つの主要なファイルを使用してhere
イムを見つけることができ、ファイル1ファイルの重要なコンテンツがこの
<script language="javascript" type="text/javascript">
/* FUNCTION : Ajax Initialize - Start */
function getXMLHTTP() {
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
/* FUNCTION : Ajax Initialize - End */
/* FUNCTION : Get Values - Start */
function getValue(numb) {
var strURL="find.php?theValue="+numb;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('my_requestDiv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
/* FUNCTION : Get Values - End */
</script>
と
<form method="post" action="" name="form1" id="example">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="160" class="title_style">What</td>
<td width="340">
<select class="select" name="start" onChange="getValue(this.value)">
<option value="">please make a selection</option>
<option value="1">Colors</option>
</select>
</td>
</tr>
<tr>
<td width="160" class="title_style">Result</td>
<td width="340">
<div id="my_requestDiv">
<select class="select1" name="my_request" >
<option>Please select above first</option>
</select>
</div>
</td>
</tr>
</table>
</form>
、ユーザーの後で選択要素1を選択し、ajaxで変数をfind.phpに渡す
<?php
$what=intval($_GET['theValue']);
$link = mysql_connect('localhost', 'YOUR_USERNAME_HERE', 'YOUR_PASSWORD_HERE');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_query("SET NAMES 'utf8'", $link);
mysql_select_db('cry-for-help');
$query="SELECT id, value FROM my_table WHERE requested='$what'";
$result=mysql_query($query);
?>
<select class="select" name="my_request">
<option>make your selection now</option>
<?php
while($row=mysql_fetch_array($result)) {
?>
<option value=<?php echo $row['id']?>><?php echo $row['value']?></option>
<?php
}
?>
</select>
結果は、2番目の選択要素の内容としてファイル1にポストバックされます。
問題は、スタイリングがなくなったことです。あなたが例をダウンロードすることができ
は、任意の助けをいただければ幸いですhere
ファイル。また、私の英語がそれほど良くないのであれば申し訳ありません。
あなたはリンク先のページに基づいて月
ご返信いただきありがとうございます。例を指摘することは可能でしょうか?それは本当に助けて、どこを見て私を導くだろう。私はGoogleが私たちの友人であることを知っていますが、正直言って運が全くありませんでした。 – Jan
具体例は何ですか? selectだけを置き換える方法の例を挙げておけば、私の答えにはjQueryベースのものが含まれていますが、あなたが望むのであれば、普通のJavaScriptのコードを思い付くことができます。 jqtransformによって生成されたマークアップの例を意味する場合は、リンク先のサンプルページでView Sourceを実行してください。 jqtransformの使い方の例があれば、私はそこでお手伝いできません。 –
jmmcduffie、申し訳ありませんが、私は間違っています。私はjQueryでそれを行う方法を見つけましたが、正直言って、これはまったく機能しません。私は、javascriptまたはjQuery関数のどちらかが正常に機能していることを意味しています。つまり、問題はjqtransformと思われます。 – Jan