1

input非表示フィールドにページtitleを として取得させたいvalue

これは私のtestmail.phpコードです。

    <p>From: <?php echo $_POST['name']; ?></p>
<p>Subject: <?php echo $_POST['subject']; ?></p>
<p>Email: <?php echo $_POST['email']; ?></p>
<p>Phone Number: <?php echo $_POST['phone']; ?></p>
<p style="width:300px;">Message: <?php echo $_POST['message']; ?></p>

これは私のフォームコードです

                <form action="testmail.php" method="post" class="cf">

                    <label for="name">* Name:</label>
                        <input type="text" name="name" placeholder="Your Name">

                        <input type="hidden" name="subject" value="<?php value $_POST['pagetitle']; ?>">

                    <label for="email">* Email:</label>
                        <input type="text" name="email" placeholder="Enter a valid Email Address">

                    <label for="phone"> Phone:</label>
                        <input type="text" name="phone" placeholder="Enter areacode and number">

                    <label for="message">* Message:</label>
                        <textarea name="message"></textarea>

                        <button type="input">Send</button>
            </form>

タイトルを自動的に取得する方法はありますか?

4

3 に答える 3

2

これは、onsubmit イベントを使用した純粋な JavaScript の方法です。

<form onsubmit="this.subject.value=document.title;">
    <input type="text" name="subject" value="" />
    <input type="submit" />
</form>

名前が示すように、イベントをよりよく理解するためonsubmitに、ユーザーがフォームを送信すると、含まれている JavaScript が実行されます。this.subject.value=document.title右から左に動作する操作は、基本的に、特定の形式のofを持つ要素document.titlevalue属性に値を割り当てることを意味します。namesubjectthis

既存のフォームを使用すると、次のようになります (onsubmit イベントを追加し、HTML のエラーを修正し、フォーム要素に適切な ID を追加しました):

<form action="testmail.php" method="post" class="cf" onsubmit="this.subject.value=document.title;">

    <label for="name">* Name:</label>
    <input type="text" id="name" name="name" placeholder="Your Name" />

    <input type="hidden" name="subject" value="" />

    <label for="email">* Email:</label>
    <input type="text" id="email" name="email" placeholder="Enter a valid Email Address" />

    <label for="phone"> Phone:</label>
    <input type="text" id="phone" name="phone" placeholder="Enter areacode and number" />

    <label for="message">* Message:</label>
    <textarea id="message" name="message"></textarea>

    <input type="submit" name="submit" value="submit" />

</form>
于 2013-10-02T22:56:58.287 に答える
1

inputページの読み込みが完了すると、非表示フィールドの値が設定されます。

<script>
$(function() {
    $('input[name="subject"]').val($('title').text());
});    
</script>
于 2013-10-02T23:01:50.810 に答える
0

submitjQueryを使用していると仮定して、JavaScriptを使用してイベントをフォームにバインドできます

$('your_form_selector').on('submit', function(){
    $('<input />').attr('type', 'hidden')
            .attr('name', 'title')
            .attr('value', document.title)
            .appendTo($(this));
});
于 2013-10-02T22:47:42.110 に答える