【问题标题】:How to use php to read non-input related text from an HTML form?如何使用 php 从 HTML 表单中读取非输入相关文本?
【发布时间】:2013-06-17 18:22:19
【问题描述】:

我有一个表单,我网站的访问者可以使用它来注册课程。 形式本质上是:

<form method="post" action="registration.php">
<h1>Class Name</h1>
<input type="text" name="name">
<input type="email" name="email">
<button type="submit">
</form>

registration.php 包含:

 $name = check_input($_POST['name'];
 $name = check_input($_POST['email'];

以及一些用于通过电子邮件发送该信息的代码。 我怎样才能让这也读取班级名称,以便我可以将其用作注册电子邮件的主题?

谢谢。

【问题讨论】:

  • 类名是PHP提供的吗?如果是这样,您可以将其作为隐藏输入传递。
  • 类名由 JavaScript 生成。此表单附加到在日历中弹出的模式。所以实际的标题是&lt;h3 name="event" class="EventName"&gt;&lt;/h3&gt;
  • 如果您可以在该标头上获取 id,您可以按照此处的示例进行操作:stackoverflow.com/questions/7764154/…

标签: php html forms email


【解决方案1】:

有几种方法可以实现这一点。

1) 使用隐藏的表单域(不是我喜欢的解决方案,但您不必添加太多代码)

2) 使用 ajax 调用提交表单,而不是通过纯 HTML 提交。

对于#1,你应该添加

<input type="hidden" name="class" value="My Class Value">

然后通过 $POST['class'] 访问它

对于#2,你可以使用类似jQuery.ajax()

【讨论】:

  • 我没有代表投票给你,所以我只是感谢你的解决方案,隐藏的输入工作正常。
【解决方案2】:

如果类内容由 php 提供,您还可以使用该信息填充隐藏输入:

<input type="hidden" name="class_name" value="<?php echo $className ?>">

您也可以使用 Javascript。

<h1 class="classname">Class Name</h1>
<input type="hidden" name="class_name" id="classnameinput">
...
<script>
    textClassName = document.getElementById("classname").innerText;
    document.getElementById("classnameinput").value = textClassName;
</script>

或者 jQuery...

<h1 class="classname">Class Name</h1>
<input type="hidden" name="class_name" id="classnameinput">
...
<script>
    jQuery(document).ready(function($) {
        textClassName = $('#classname').text()
        $('#classnameinput').val( textClassName );
    });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2017-01-14
    • 2023-04-09
    相关资源
    最近更新 更多