JavaScript onchange()

时间:2012-04-13 12:16:08

标签: php javascript

我是JS和编程的新手..

我想学习如何在表单的文本字段中实现onchange()并在值更改时捕获该表单字段的值,并且我想将该信息存储在文本文件中,我可以在其中创建php..i已经有了我可以使用fopen并插入值的文本文件。但是如何在将一些临时变量写入文本文件之前捕获并存储它们。

我在这里包含代码..

这是我用于更新此数据的更新页面...

提前预订..

//function for multiple select field 
<script>
function Technology(value,state)
{
   if (value > -1) {
      var input= new Array(value);
      var p;

      var techs = [

         <?php
            $con = mysql_connect("localhost", "root");
            if (!$con)
            {
               die('Could not connect: ' . mysql_error());
            }
            mysql_select_db("root", $con);

            $load = mysql_query("SELECT tech from t_tech");
            while($arr = mysql_fetch_array($load))
            {
               echo "'".$arr[0]."',";
            }
         ?>
      ].sort();
      var ele = document.getElementById("tech");

      if(ele.hasChildNodes())
      {
         var len = ele.childNodes.length;
         while(ele.childNodes.length - value > 1)
         {
            ele.removeChild(ele.lastChild);
         }
      }
      var tech_array = new Array;
      <?php
         for($i = 0;$i<$_POST['tech_num'];$i++)
         {
            $p = $i+1;
            echo "tech_array[$i] = '".$_POST['tech'.$p]."';";
         }
      ?>

      for (var i=len-1;i<value;i++)
      {
         p= i+1;
         input[i] = document.createElement('div');

         if(state ==1 )
         {
            input[i].innerHTML = 'Technology' + p + ':  &nbsp;&nbsp; <input type="text" name="tech' + p + '" id="tech' + p +'" size = 25 value="'+tech_array[i] +'"/>';
         }
         else if (state == 0)
         {
            input[i].innerHTML = 'Technology' + p + ':  &nbsp;&nbsp; <input type="text" value="" name="tech' + p + '" id="tech' + p +'" size = 25/>';
         } 

         document.getElementById("tech").appendChild(input[i]);

         var techId = 'tech' + p;

         AutoComplete_Create(techId,techs);

      }           
}}
</script>  

这是表单字段:

<tr> 
   <td><b>
      Field1: <select name="tech_num" id="tech_num" onChange="return Technology(this.value,0)"> 
      <?php 
         for ($i=0;$i<=5;$i++) { 
            if ($i==0) 
               $temp = "<option value=$i> - </option>"; 
            else if($i == $_POST['tech_num']) 
               $temp = "<option value=$i selected='selected'>$i</option>"; 
            else $temp = "<option value=$i>$i</option>"; 
               echo $temp; } 
      ?> 
      </select>
   </td>
</tr> 
</table> 
<div id="tech"> </div> <table>

1 个答案:

答案 0 :(得分:1)

要将值存储在服务器上的文本文件中,您需要从客户端发送数据。你最好的选择可能是在onChange函数中添加一个ajax调用到一个只存储值的特殊php页面。

http://www.w3schools.com/jsref/event_onchange.asp

http://www.w3schools.com/ajax/default.asp