1

私は、ユーザーがシンプルでクリーンな形式でメッセージを送信できるようにするマイクロメッセージPHPスクリプトを使用しています。エントリにはデータベースを使用します。そのフォーム部分は次のようになります。

<form name="new_post" method="post" action="admin.php?page=wp-admin-microblog/wp-admin-microblog.php" id="new_post_form">
    <table>
        <thead>
        <tr>
            <td>
                <div id="postdiv" class="postarea" style="display:block;">
                    <textarea name="wpam_nm_text" id="wpam_nm_text" style="width:100%;" rows="4"></textarea>
                </div>
                <p style="text-align:right; float:right;"><input name="send" type="submit" class="button-primary" value="<?php _e('Send', 'wp_admin_blog'); ?>" />
            </td>
        </tr>
        </thead>
    </table>
</form>

フォームにドロップダウンリストを追加したいのですが、ユーザーがドロップダウンリストで選択した内容に応じて、ユーザーが送信ボタンをクリックしたときに、textarea(wpam_nm_text)メッセージの先頭にカスタムテキストを追加する必要があります。

これを説明させてください。次のようなものを追加したいと思います。

<select>
 <option>Milk</option>
 <option>Coffee</option>
 <option>Tea</option>
</select>

...フォームに、ユーザーがオプション「コーヒー」を選択した場合、ユーザーが送信ボタンをクリックしたときに、テキスト領域に「コーヒーは私を目覚めさせます」というテキストを追加します。そのため、フォームがデータベースに送信されると、「コーヒーは私を目覚めさせます」と、ユーザーがテキストエリアに書き込んだ内容が含まれます。

これは、私がよく知らないJavascriptまたはPHPを使用して可能であると思いますので、詳細な返信が有益です。また、さらに詳しい情報やスクリプトが必要な場合は、ぜひお問い合わせください。

必要な場合は、ここにフィドルがあります:http: //jsfiddle.net/tNrfA/

4

3 に答える 3

2

コーディングビズによって投稿された回答はあなたのために働くでしょう..(投票できません、特権はありません:()。

ただし、JavaScript ソリューションが必要な場合は、これでうまくいくはずです..

<script type="text/javascript">

function setText(){

  var drink = document.getElementById('drink');
   var feed = document.getElementById('feed');
    feed.value = drink.value + " keeps me awake:" + feed.value;

    }

</script>

<form name="new_post" method="post"  id="new_post_form">
        <table>
            <thead>
            <tr>
                <td>

                    <div id="postdiv" class="postarea" style="display:block;">
                        <textarea name="wpam_nm_text" id="feed" style="width:100%;" rows="4"></textarea>
                    </div>
                     <select id = "drink">
                         <option>Milk</option>
                         <option>Coffee</option>
                         <option>Tea</option>
                    </select>
                    <p style="text-align:right; float:right;"><input name="send" type="submit" onClick="setText()" class="button-primary" id ="submit" value='go' />
                </td>
            </tr>
            </thead>
        </table>
 </form>​
于 2012-08-09T19:47:48.410 に答える
2

サーバー側から選択したドロップダウン値にアクセスして、テキストに追加できると思います

HTML

<select name="choice">
 <option>Milk</option>
 <option>Coffee</option>
 <option>Tea</option>
</select>

PHP

<?php
$wpam_nm_text = $_POST['wpam_nm_text'];
$choice = $_POST['choice'];

$customText = "default";

if($choice == "Coffee")
   $customText = "Coffee keeps me awake";
else if($choice == "Milk")
   $customText = "WhatStuffYouWantHere";

//combine the dropdown value and the textarea value
$requiredVal = $customText.' '.$wpam_nm_text;

print($requiredVal);

//do whatever you want with $requiredVal
?>

それはそれを行う必要があります

于 2012-08-09T19:24:56.590 に答える
2

おっしゃるとおり、簡単な JavaScript でこれを実現できます。

<script>
    var drinks = {
        Milk: "does a body good",
        Coffee: "keeps me up",
        Tea: "is yummy"
    }; 

    function optionChange(){
        var drinkText = drinks [document.getElementById('drinkSelection').value]
        document.getElementById('wpam_nm_text').value = drinkText;       
    }
</script>

ここに更新されたフィドルがあります http://jsfiddle.net/tNrfA/6/

編集: 最初は、これがページの送信にあるとは思いませんでした。そのために、codingbiz が投稿したものは問題なく動作するはずです。この方法は、カスタム テキストを更新できる場合にのみ使用してください。

ただし、フロントエンドでそれを行う必要がある場合は、次のようにすることができます。

フィドル: http://jsfiddle.net/tNrfA/14/

var drinks = {
    Milk: "does a body good",
    Coffee: "keeps me up",
    Tea: "is yummy"
}; 

function submitForm(){
    drinkText = drinks [document.getElementById('drinkSelection').value]
    document.getElementById('wpam_nm_text').value = drinkText + ' ' +document.getElementById('wpam_nm_text').value;
    document.getElementById('new_post_form').submit();       
}

                <div id="postdiv" class="postarea" style="display:block;">
                    <textarea name="wpam_nm_text" id="wpam_nm_text" style="width:100%;" rows="4"></textarea>
                </div>
                 <select id="drinkSelection">
                     <option>Milk</option>
                     <option>Coffee</option>
                     <option>Tea</option>
                </select>
                <p style="text-align:right; float:right;"><input name="send" type="button" class="button-primary" value="<?php _e('Send', 'wp_admin_blog'); ?>" onclick="submitForm()" />
            </td>
        </tr>
        </thead>
    </table>
</form>​
于 2012-08-09T19:26:51.240 に答える