2017-04-03 10 views
0

には小さな問題があります。コードのこの部分で:編集可能な入力フィールドの配列内の値を変更する

<?php 
$data = [ 
    "eCheckDetails"=>[ 
    "paymentsReceived"=>$history["transactionSummary"]["eCheckTotal"], 
    "revenueReported"=>$history["transactionSummary"]["eCheckTotal"], 
    "fundsDeposited"=>$history["transactionSummary"]["eCheckTotal"], 
    "accountAdjustment"=>0.00], 

"paymentCardDetails"=>[ 
    "paymentsReceived"=> $history["transactionSummary"]["paymentCardTotal"], 
    "revenueReported"=> $history["transactionSummary"]["paymentCardTotal"], 
    "fundsDeposited"=> $history["transactionSummary"]["paymentCardTotal"], 
    "accountAdjustment"=>0] 
    ]; 

データ "$履歴[...] [...]"

(どこからその本当に重要ではありません)、別のファイルやデータベースから取得され

ポイントは、このデータが間違っていることがあり、手動で変更する必要があることです。そして、これは私の質問です。このフィールドの作り方($履歴は[..] [..]である場合)、編集可能な、

  <input type="text"> 

が$履歴[下に隠され、デフォルト値で(小さなボタンでACCEPTまたはどこか別としてSMG)であることを.. ] [..]。 私はそれをやろうとしましたが、その内側の配列とdidntは運がありません。多分誰かが知っている?

敬具

+0

このフォームにご入力フィールドに名前を付けることができ、 'の 'フォームをPOSTすると、PHPは$ _POST [' history ']に配列を取得します。 – Dimi

答えて

0

あなたはたとえば<input ... name="history[transactionSummary][eCheckTotal]">のために、あなたのHTML属性で指定されたキーを使用することができます。これをサーバーに送信すると、アレイが満たされます。

<?php 

$form = <<<EOS 
    <form method="post" action=""> 
     <input type="text" value="" name="history[transactionSummary][eCheckTotal]"> 
    </form> 
EOS; 

if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    var_dump($_POST); 
} else { 
    echo $form; 
} 

$_POSTスーパーグローバルの内容は次のようになります。

Array 
(
    [history] => Array 
    (
     [transactionSummary] => Array 
     (
      [eCheckTotal] => dsdsa 
     ) 
    ) 
) 
+0

ありがとう!もう1つ教えてもらえますか?この方法で複数の入力データを送信する方法。私はそれらの8つを編集する必要があることを意味しますが、8つの入力すべてを入力した後に入力を打つことは何もしません。 1つの形式で行うことができますか?/ but32なし/ – widmopl

+0

これはクライアント側の問題です。データはどのようにブラウザに表示されますか。ほとんどのブラウザは、次の '

'それをブロックする可能性のあるイベントハンドラはありません。 – motanelu

関連する問題