0

私はJSイベントを介して変更されたフィールドの値をキャプチャし、そのデータをtemp1配列にキャプチャしています。たとえば、フィールド名「name」を変更すると、フィールド名「id」が取得され、temp1に保存されます。しかし、主な問題は、この配列を php フォーム処理ページに渡す方法です。ここで、この temp1 の値を取得できます。

JSONを使用してみましたが、役に立ちません。

私が試したコードは次のとおりです。 $.post('/somepage.php', temp1); しかし、うまくいきませんでした。

これで私を助けてください。

そして、ページにjquery.js libを含めました。

  <script type="text/javascript">
  var temp1 = new Array();

  function onChangeTest(changeVal)
  {    
 //alert("Field u changed was: " + changeVal.id) 

 temp1.push(changeVal.id);

 tmsg = "Fields u changed so far are:"
 for(var i=0;i<temp1.length;i++)
 {
 //document.write("<b>temp1["+i+"] is </b>=>"+temp1[i]+"<br>");
 tmsg = tmsg + " " + temp1[i];
 }
 alert(tmsg);
 }
 //$.post('/somepage.php', temp1);
 </script>
4

3 に答える 3

1

問題は私には非常に単純に見えます。以下のコードを試して、結果を知らせてください。

function onChangeTest(changeVal)
{
    //alert("Field u changed was: " + changeVal.id)
    var temp1 = new Array();
    temp1.push(changeVal);

    tmsg = "Fields u changed so far are:"
    for(var i=0;i<temp1.length;i++){
        //document.write("<b>temp1["+i+"] is </b>=>"+temp1[i]+"<br>");
        //tmsg = tmsg + " " + temp1[i];
        var newHidInp = document.createElement('input');
        newHidInp.type  = 'hidden';
        newHidInp.name  = 'outArray[]';
        newHidInp.value = temp1[i];
        document.frm.appendChild(newHidInp);
    }
    return false;
}

HTML:

 <form name="frm" action="" method="POST" >
  <tr>
<td><font color="red">*</font>Name:<input type="text" name="name" id="name" size="25" onkeyup="onChangeTest('name')" /></td>
<td><font color="red">*</font>Age<input type="text" name="age" id="age" size="25" onkeyup="onChangeTest('age')" />
<input type="submit" name="submit" value="SUBMIT">
</td>
</form>
 </body>
</html>

PHP:

<?php
print("<pre>");
print_r(array_unique($_POST['outArray']));

?> 
于 2012-04-17T09:45:27.303 に答える
1

必要なものは次のとおりです。

$.post("/somepage.php", { 'temp1[]': temp1 });

公式ドキュメントのこちらも参照してください。あらゆる種類のデータの例があります。

于 2012-04-17T07:16:16.560 に答える
0

変更を保存する方法を変更します。フィールド ID をオブジェクト キー (例: ) として保存すると、PHP で etc. を介して値をtemp1["username"] = true簡単に使用$.post("/somepage.php", temp1)および読み取ることができます。$_POST["username"]

于 2012-04-17T07:20:51.767 に答える