0

私はこれに慣れていないので、アドバイスをお願いします。
これまでのところ、フォーム フィールドに入力する 2 つの方法を考え出しました。
これが私のhtmlだとしましょう:

 <input id="test" name="test" type="text">  

ご覧のとおり、各フィールドの ID は名前と一致します。
Sql からフィールドに入力するときは、次のいずれかを実行できます。

PHP:

 <input id="test" name="test" type="text" value="<?php if(isset($SqlRequested['test'){echo $SqlRequested['test'];}">  

同様に、フォームのすべてのフィールドを書き込みます...
または、これをヘッド部分の
JQUERYに追加します。

<script>
 <?php  echo "$(document).ready(function(){";
        foreach ($SqlRequested as $id => $value){
                echo "$('#" . $id . "').val(\"" . $value . "\");"
                echo "};"
         echo "});"
 ?>
 </script>

フィールドに「enter/return」が含まれている場合、jQueryがいくつかの問題を引き起こすという事実に加えて(これは、.htmlまたは.textを使用して修正できると思います)

どちらをお勧めしますか?各方法の欠点や長所は何ですか?
コードの改善点はありますか?
私が行方不明になっている他の方法はありますか?
上記の小さな問題を簡単に修正するための提案はありますか?

事前にサンクス。

編集: jQuery .populate に気付きました。これは私の 2 番目の方法のようなものだと思います。次の形式でデータを取得するだけです。{'id':'value',...}

4

2 に答える 2

3

JavaScript を使用しない人は JavaScript バージョンの値を取得できないため、PHP を使用してページをレンダリングする必要があります。

PHP: 長所: すべてのブラウザーは、ユーザーが取得したいものを取得します。出力 HTML は、ユーザーが期待する値を持っているため、間違いなくより正確です。

短所: ...サーバーの負荷が増加します....わずかな量であるため、おそらく短所でさえありません。

JS: 長所: ...

短所: 非 JS 対応のブラウザーでは、期待する値が表示されません。

改善点: 重複入力を削減するために、存在する場合に値を自動的にエコーする関数を PHP で記述します。何かのようなもの:

function echoValue($value) {
global $SqlRequested;
    if(isset($value)){
        echo $value;
    }
}

または、必要に応じて:

function echoValue($value) {
global $SqlRequested;
    if(isset($SqlRequested[$value])){
        echo $SqlRequested[$value];
    }
}   
于 2012-04-05T06:56:14.237 に答える
0

良い質問です。さまざまなフレームワーク、cms などで使用するこのメソッドはすべて、最も「単純な」直接的な方法は次のとおりです。

value="<?php echoValue('test');?>"

最も強力で「複雑」なのは、フォームをレンダリングするための knockout.js のような使用フレームワークです。

そして、はい - 「javascript を持っていない人がいるでしょうか?」

公理 - すべてに JavaScript があります。

于 2012-04-05T07:41:26.267 に答える