0

onchangeinwhileループを使用して選択ボックスから値を取得したい。しかし、最初の値のみを取得しています。すべてから値を取得する方法は?

phpでwhileループを使用してこれを実行しました。

誰かが解決策を教えてもらえますか?

前もって感謝します。

ここに私のコード:ここに私のコード...

<script type="text/javascript">
function showUser1()
{

var str = document.getElementById("process").value;
var str1 = document.getElementById("snp").value;

alert(str);
alert(str1);

if (str=="")
  {
  document.getElementById("txtHint1").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("txtHint1").innerHTML=xmlhttp.responseText;
    }
  }
//xmlhttp.open("GET","process.php?q="+str,true);
xmlhttp.open("GET","process.php?q=" + str + "&q1=" + str1, true);
xmlhttp.send();

}
</script>

<table cellpadding="1" cellspacing="1" border="0">
<tr>
<td id="txtHint">
<table cellpadding="1" cellspacing="1" border="0">
<tr>
<th style="padding-left:500px;">Serial Number</th>
<th>&nbsp;Status</th></tr>

<tr>

<td>
<?php $i = 1;
while ($i <= 10) {
echo $i++;  /* the printed value would be $i before the increment (post-increment) */
?>
<form>
<select name="process" id="process" onchange="showUser1(this.value)">
<option value="" selected="selected">Select</option>
<option value="0">Not Yet Start</option>
<option value="1">On Process...</option>
<option value="2">On Stock Yard</option>
<option value="3">Despatched</option>
</select>
<input type="text" name="snp" id="snp" value="<?php //echo $fetch['serial_number']; ?>" />
</form>
<?php } ?>
</td>
<td id="txtHint1"></td>
</tr>

</table>
</td>
</tr>
</table>
4

2 に答える 2

0

function showUser1(i, processValue) {

var str = processValue; var str1 = document.getElementById("snp" + i).value;

アラート(文字列); アラート (str1);

if (str == "") { document.getElementById("txtHint1").innerHTML = ""; 戻る; if (window.XMLHttpRequest) {// IE7+、Firefox、Chrome、Opera、Safari のコード xmlhttp = new XMLHttpRequest(); } else {// IE6、IE5 のコード xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("txtHint1").innerHTML = xmlhttp.responseText; } } // xmlhttp.open("GET","process.php?q="+str,true); xmlhttp.open("GET", "process.php?q=" + str + "&q1=" + str1, true); xmlhttp.send();

}

シリアル番号のステータス

          <tr>

              <td>
              <?php $i = 1;
              while ($i <= 10) {
                  ?>
                  <form>
                      <select name="process<?php echo $i;?>"
                          id="process<?php echo $i;?>"
                          onchange="showUser1(<?php echo $i;?>,this.value)">
                          <option value="" selected="selected">Select</option>
                          <option value="0">Not Yet Start</option>
                          <option value="1">On Process...</option>
                          <option value="2">On Stock Yard</option>
                          <option value="3">Despatched</option>
                      </select> <input type="text" name="snp<?php echo $i;?>"
                          id="snp<?php echo $i;?>"
                          value="<?php //echo $fetch['serial_number']; ?>" />
                  </form>



                   <?php  $i++;  /* the printed value would be $i before the increment (post-increment) */  }  ?> </td>
              <td id="txtHint1"></td>
          </tr>

      </table>        </td>   </tr> </table>
于 2012-11-19T09:30:13.063 に答える
0

まず第一に、私はあなたのコードにいくつかの誤りがあることに気付きました.

  1. while ループにフォームを含めないでください。

  2. 選択ボックスの名前と ID は動的にする必要があります [process1、process2 など]

  3. 関数 showUser1() では、2 つのパラメーターを渡す必要があります。

onchange="javascript : return showUser1([ループカウンター], this.value);"

  1. Javascript関数は以下のようになります

function showUser1( cnt, processValue) {

 var str = processValue;

 var str1 = document.getElementById("snp"+ cnt).value;

 ........   }
  1. 入力タイプのテキスト ボックスの値は、選択ボックスとして動的である必要があります。
于 2012-11-19T08:10:04.760 に答える