您好我想要一个系统,用户可以输入他们的姓名,地址,邮政编码等,系统会生成一个预先写好的信件。我的所有代码目前都在PHP文件中。
<h2>Send your MP our pre-written letter</h2>
<p>Please fill out the information required below:</p>
<div align="left">
<form action="form.php" method="post" enctype="multipart/form-data"
<p>Name <font color="red">(required) </font> <input name="flname" required placeholder="Your Name"> </p>
<p>Email <font color="red">(required) </font> <input name="emailfrom" type="email" required placeholder="Your Email"> </p>
<p>Address <font color="red">(required) </font> <input name="address" required placeholder="Address"> </p>
<p>City <font color="red">(required) </font> <input name="city" required placeholder="City"> </p>
What is 2+2? <font color="red">(required) </font> <input name="human"required placeholder="Type Here">
<p> <b> You can edit the text below as much or as little as you wish </b> </p>
<script>
$("input[name=name]").on('keyup', function () {
$('#name1').html($(this).val());
});
$("input[name=address]").on('keyup', function () {
$('#add1').html($(this).val());
});
$("select[name=city]").on('change', function () {
$('#city1').html($(this).find('option:selected').text());
});
</script>
<textarea name="text" required placeholder="Your Message" style="margin: 5px; width: 391px; height: 230px;">
Dear <?php echo "$mptitle $mpsecondname"?>,
Please support us
Kind Regards,
<?php
echo "<p id="name1"></p>"
echo "<p id="add1"></p>" , echo "<p id="city1"></p>"
echo "$senderpostcode"?>
?>
</textarea>
</div>
</div>
</form>
然而,这个Javascript解决方案似乎并没有起作用。我希望文本显示在Kind Regards下,没有单击提交按钮的行,即实时,因此当用户键入他的姓名/地址/城市时,这些值将以指定的顺序实时显示。
感谢您的帮助。
更新2:嗨,下面的解决方案似乎只会产生:
表单可以在hhassan.me/codetest中看到,看起来就是我的意思,使用ST5 3JL作为演示邮政编码。
以下图片作为辅助工具(不能嵌入我的新用户):
答案 0 :(得分:2)
将JS移动到页面末尾,这样就不会引用未加载DOM的元素。使用下面的语法来放置您的JS代码,并将其放在页面的末尾..
<?php
echo "<p id='name1'></p>";
echo "<p id='add1'></p>";
echo "<p id='city1'></p>";
echo "$senderpostcode";
?>
<script>
$(document).ready(function () {
// put JS code here
});
</script>
</body>
</html>