如何将页面标题转换为输入的值


How to get the page title into a input's value?

我希望我的隐藏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>

有没有办法自动获取标题?

这是使用 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基本上是说将document.title的值分配给元素的value属性,并以特定形式this subject name

使用您现有的表单,它应该看起来像这样(我添加了 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>

这将在页面加载完成后设置隐藏input字段的值。

<script>
$(function() {
    $('input[name="subject"]').val($('title').text());
});    
</script>
你可以

使用 JavaScript 来做到这一点,假设你使用的是 jQuery,submit事件绑定到你的表单

$('your_form_selector').on('submit', function(){
    $('<input />').attr('type', 'hidden')
            .attr('name', 'title')
            .attr('value', document.title)
            .appendTo($(this));
});