跨度变量没有在php中读取

时间:2017-10-22 19:50:39

标签: javascript php html

我有一个网站接收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的值以便在电子邮件中发送它时我有两个问题

  1. 未收到参数 - emailText = $_POST['uname'];
  2. 在尝试调试时,我看到HTML文件和js文件正在加载并且可以调试,但PHP文件在调试的文件树中不存在
  3. 但是正在加载和读取它,因为正在读取其他变量并将其正确发送到电子邮件。

3 个答案:

答案 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的情况下传递数据。