使用HTMLTextField向PHP文件传递GET参数

使用HTMLTextField向PHP文件传递GET参数,php,html,Php,Html,我想通过文本字段中键入的数据将GET参数传递给PHP文件。我想要这样的东西: <form id="Form1" action="action.php?nameExample=textFieldData" method="get"> textfield不是这种形式的,这就是为什么我需要在get PHP参数中影响textfield的值,这样我就可以用同一个msg中的另一个数据发送它 文本字段代码: Username: <input type="text" name="name

我想通过文本字段中键入的数据将GET参数传递给PHP文件。我想要这样的东西:

<form id="Form1" action="action.php?nameExample=textFieldData" method="get">

textfield不是这种形式的,这就是为什么我需要在get PHP参数中影响textfield的值,这样我就可以用同一个msg中的另一个数据发送它

文本字段代码:

Username: <input type="text" name="nameExample"><br>
用户名:

不管怎么说,你想做吗

如果
这应该满足您的要求,则不能在HTML表单操作属性中使用
$\u GET
参数。JS代码将外部输入字段的值复制到隐藏的输入字段

HTML:

但你应该考虑以下几点:

  • 这里的
    get
    方法正确吗?听起来
    post
    可能更好
  • 从语义上讲,将值从表单外部传递到表单内部是一个好主意吗?我们不知道您的申请,但一般来说,最好将所有提交的数据都放在表单中。正如HTTP在他的评论中指出的那样,会话也有助于解决这一问题

不能在表单操作属性中使用get参数。是否要使用会话?可以,但表单方法必须是“post”,然后当使用
get
作为表单方法时,表单输入将替换整个查询字符串(=表单操作中的查询字符串丢失,并且只有表单字段在
$\u get
中可用)。当使用
post
作为方法时,原始查询字符串不会被修改,因此当表单字段位于
$\u post
中时,表单操作中的参数在
$\u GET
中可用。它有一些用例,例如,在POST中传递真实数据时,通过查询字符串传递步骤/操作/会话ID。如果它有意义或没有意义,从技术上讲,这是可以的。
$\u GET['nameExample']
将是
'whatever'
。当然,您的示例是有效的。我刚才说过,当方法是
post
时,在表单操作中使用查询字符串是可以的(因为您写道他“不能在HTML表单操作属性中使用
$\u GET
参数”,这对所有情况都不正确)不起作用:/it只打印第一个内容,这里是我的php文件
,我像这样包含我的js:
我为你创建的。如果您填写一些数据并提交表单,您会看到打开的URL包含nameExample参数,因此该脚本应该可以工作。也许您更改了HTML中表单的ID或名称等。?
<form action="action.php" method="get" id="Form1">
    <input type="text" name="otherData" value="xxx">
    <input type="hidden" name="nameExample" value="" id="nameExampleCopy">
    <input type="submit">
</form>

Username: <input type="text" name="nameExample" id="nameExampleOriginal">
document.getElementById('Form1').addEventListener('submit', function () {
    var originalElement = document.getElementById('nameExampleOriginal');
    var hiddenElement = document.getElementById('nameExampleCopy');
    hiddenElement.value = originalElement.value;
});