我有一个网站接收URL地址(www.xxx.html?name=David
)
然后我将值分配给html文本,如下所示:
<span name="uname" id="uname"> </span>, I'd like to thank you
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var userName = getParameterByName('uname');
document.getElementById("uname").textContent = userName;
});
</script>
到目前为止一切正常
现在当我尝试再次读取PHP文件中uname
的值以便在电子邮件中发送它时我有两个问题
emailText = $_POST['uname'];
HTML
文件和js
文件正在加载并且可以调试,但PHP
文件在调试的文件树中不存在但是正在加载和读取它,因为正在读取其他变量并将其正确发送到电子邮件。
答案 0 :(得分:3)
当submitting a form用户代理(浏览器)将从中构建表单数据集时 &#34; Succesful controls&#34;
Control是以下之一:
提交表单时,只会提交这些字段。 <span>
不是其中的一部分。
如果您想使用JavaScript将值添加到不在文本输入中的表单,我建议您使用隐藏的输入来执行此操作。
<input name="uname" type="hidden" value="value">
编辑范围时,您还应将此隐藏字段更改为相同的值。
答案 1 :(得分:1)
您不能将span与name属性一起使用。
阅读本文 https://www.w3schools.com/tags/tag_span.asp
如果您想发布,请使用表单+正确的输入元素。
https://www.w3schools.com/html/html_form_input_types.asp
但是,你真的想要做的并不是很清楚,向我们展示整个页面......
答案 2 :(得分:0)
如果我需要获得span的价值,请做这样的事情
<span data-name="someTextHere">...</span> # data-name will not visible in browser unless page source mode
您可以使用($(this).data('name'))
实施例
var userName = ($(this).data('name'));
这篇文章Submit Form Using Ajax, PHP and jQuery会有所帮助
您可以在没有Undefined Index Error
的情况下传递数据。