質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.19%

phpからtextareaに文字を出力したい。

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 200

qtn.01

score 25

index.htmlからd_main.phpに制御を移すようにしてあります。
jqueryでボタン押下後も遷移しないようにしてあり、
textareaはそのまま残っています。

その状態で、phpからname="info"のtextareaに文字を出力することは可能でしょうか?

javascriptやjqueryをphp内で使用しても良いのですが
php側でどのような記述が必要かよくわかりません。

どうぞよろしくお願いします。

index.html(ボタン押下)→d_main.php(ここから表示してあるtextareaに文字を出力)

<form name="DebugForm" action="d_main.php" method="post" id="AjaxForm">
<input type="submit" value="コンパイルする" name="" class="btn_1 submit" >
<textarea  name="info"  class="win_1" readonly >
</form>
<head>
<meta charset="UTF-8">
<title>test</title>
<script src="js/jquery-3.4.1.min.js"></script>
<script src="js/n_trans.js"></script>
<form name="DebugForm" action="test.php" method="post" id="AjaxForm">
<input type="submit" value="テストボタン" name="" class="btn_1 submit" >
<br>
<textarea  name="source"  rows="30" cols="150">
</textarea>
<script>
$('#AjaxForm').submit(function(event) {
     event.preventDefault();
    var $form = $(this);
    var $button = $form.find('.submit');
    $.ajax({
        url: $form.attr('action'),
        type: $form.attr('method'),
        data: $form.serialize(),
        timeout: 10000,  
        beforeSend: function(xhr, settings) {
            $button.attr('disabled', true);
        },
        complete: function(xhr, textStatus) {
             $button.attr('disabled', false);
        },
        success: function(result, textStatus, xhr) {
            $form[0].reset();
            $("#result").append(result);
        },
          error: function(xhr, textStatus, error) {
            alert('NG...');
        }
    });
    // …
})(jQuery);
</script>
</body>
</html>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m6u

    2020/01/23 15:46

    最小限やりたいことを実現する部分を、第三者の環境でも再現可能な状態の、最小限のコードで実現して、そのソースを貼ってほしい。流れがよくわからん。どこに、だれが、どこからもってくる、なにを、詰めるのか。

    キャンセル

  • qtn.01

    2020/01/23 18:04

    すみません。上記の下のhtmlのようにindex.htmlがなっており、textareaを持っています。
    実行していただくとわかるように、jqueryで遷移しないようになっています。
    そこでボタンを押すとtest.phpに飛びますが、そのtest.phpからtextareaに対して文字を出力するということです。

    キャンセル

  • mari.rinn

    2020/01/23 19:01

    あまりにも謎が多くて何から聞けば良いのか、、、とりあえず上のhtmlのコードは下のhtmlに書き換えたということでしょうか?それなら上を削除し、またその上の説明文のファイル名なども変更してください。

    それと、</form>がないですが、これはtextareaまでですか?

    そもそも、ajaxでphpに送るデータは、textareaに入力された文字列を送る ということで良いのでしょうか?

    まずはそこまで。

    キャンセル

回答 1

+1

<textarea>入れたいテキスト</textarea>


ってやるんじゃないかな。

入れたいテキストの箇所で、<?php echo ~; ?>って置き換えれば。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/23 15:42

    echo '<textarea name="info" class="win_1" readonly >テスト</textarea>';
    とphp側で行ってもなにも表示されない状態です。

    キャンセル

  • 2020/01/23 15:48 編集

    もしも textarea が index.html にあるのだとしたら、無理だよね、index.htmlって動的生成物じゃないから。
    index.php などとPHPの実行ができるようにした上で、d_main.phpから何らかのデータを受信しないと実現できないのではないかと。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.19%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる