4

入力を使用する代わりに、フォーム内の div 要素から値を取得する方法はありますか?

ちょっとばかげた質問だとは思いますが、可能かどうか知りたいだけです。PHP DOMのようなものですか?

または、送信時に div を入力に変更する方法はありますか?

ありがとう、

4

6 に答える 6

5

Javascript を使用すると、フォームを送信する直前に div のコンテンツを (非表示の) 入力に入れることができます。

jQuery では、おおよそ次のようになります。

$('#myForm').submit(function() {
  $('#myHiddenInput').val($('#myDiv').html());
});

編集:なぜAJAXについて話しているのですか?この状況では AJAX を使用する必要はありません!

于 2012-06-01T19:28:20.370 に答える
3

jQueryを使用しない JavaScript ソリューションは次のとおりです。

<script>

    function prepareSubmit() {
        var payload = document.getElementById("target").innerHTML;
        document.getElementById("divContents").value = payload;
        return true;
    }​

</script>

マークアップ:

<form name="test">
    <div id="target">Payload</div>
    <input type="hidden" id="divContents" name="divContents" />
    <input type="submit" onclick="return prepareSubmit()" value="submit" />
</form>​

onclick 関数は、submit イベントの前に実行されます。prepareSubmit実際、 true を返さない限り、フォームは送信されません。div内容を非表示の入力に挿入します。これが最も簡単な解決策だと思います。フォームの前にスクリプトがロードされていることを確認してください。

于 2012-06-01T19:41:44.103 に答える
2

PHP コードはサーバー側で処理されるため、基本的にクライアント側の DOM を PHP で操作することはできません。

JavaScript (jQuery で最も簡単な方法) を使用すると、DOM から情報を引き出して、追加フィールドとしてフォーム送信に含めることができます。

jQueryを使用してフォーム送信に追加することを扱うSOに関する質問がたくさんあります。

Safari / JQuery - ページの非表示フィールドの挿入と更新

于 2012-06-01T19:29:43.270 に答える
0

jQuery を使用して、div 内に情報を投稿します。実行するのは非常に簡単で、数行のコードのみです。

于 2012-06-01T19:29:40.150 に答える
0

javascript ファイル内で ajax 呼び出しを使用できます。たとえば、この $("#yourdiv").val(); のように div id を呼び出すだけです。これにより、div id にあるものの値が得られます。より具体的な例を挙げてコードの一部を示していただければ、より具体的に説明できるかもしれません。ジム

于 2012-06-01T19:30:02.417 に答える
0

これをアーカイブする方法は複数あります。

隠しフィールド

非表示の入力フィールドを作成し、送信時にこれらに JavaScript を入力できます

アヤックス

たとえば、jQuery の AJAX ライブラリを使用して、データをシリアル化し、AJAX 経由で投稿します。

入力フィールドのスタイルを設定して、話している div のように見えるようにします

別のオプションは、慣れ親しんだ入力フィールドをそのまま使用し、入力のように見えないようにスタイルを設定することです。

これらの例が必要な場合はお知らせください。

于 2012-06-01T19:32:16.123 に答える