PHP 表单从 id 发送值而不是值

发布于 2024-10-26 23:04:23 字数 424 浏览 1 评论 0原文

我通常在带有隐藏字段的表单中做类似的事情:

   <input type="hidden" name="someName" value="someVal" />

并且我已经能够通过简单的方法获取值,例如

$someVar = $_REQUEST['someVal'];

但现在我尝试通过类似的方法发送 DOM 元素 id 中的所有值

<input type="hidden" name="someNewName" id="element_id_name" />

我这样做正确吗?这还可以吗?还是我离得远了? 如何从最后一行获取值?或者我如何以正确的方式将该数据发送到请求?

谢谢, 亚历克斯

What I have typically been doing is something like this in a form with a hidden field:

   <input type="hidden" name="someName" value="someVal" />

and I have been able to get the value with something simple like

$someVar = $_REQUEST['someVal'];

But now I am trying to send all the values in a DOM element id by something like this

<input type="hidden" name="someNewName" id="element_id_name" />

I am doing this correctly? Can this even be done? Or am I way off?
How do I get the value out of the last line? Or how do I send that data to to request in a correct way?

Thanks,
Alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

零時差 2024-11-02 23:04:23

你不能通过 ID 在 php 中检索数据,它适用于名称..所以你需要

上更改PHP

<form method="POST" action="nextpage.php" name="myform" id="myform">
<input type="text" id="rout_markers"  name="rout_markers"/>
<input type="hidden" name="someNewName" id="someNewName" value="" />
<input type="submit" id="send-btn"  class="button" value="SEND NOW" onclick="submitform()" />
</form>

jQuery

$("form").bind('submit',function(e){
  e.preventDefault();
  var hiddenData=$("input[name=rout_markers]").val();
  // or var hiddenData=jQuery('#rout_markers').val(); 
  $("input[type=hidden][name=someNewName]").val(hiddenData);  
});

nextpage.php

以下面的方式检索数据

$_POST['someNewName'];

更新

提交按钮中的 onclick=submitform() 设置,并分配 nameid 属性来形成并编写此

JavaScript

<script type="text/javascript">
function submitform()
{
  var hiddenData = document.getElementById('rout_markers').value;
  document.getElementById('someNewName').value = hiddenData;
  document.myform.submit();
}
</script>

you cant not retrieve data in php via ID it works on name..so you neeed to change

PHP

<form method="POST" action="nextpage.php" name="myform" id="myform">
<input type="text" id="rout_markers"  name="rout_markers"/>
<input type="hidden" name="someNewName" id="someNewName" value="" />
<input type="submit" id="send-btn"  class="button" value="SEND NOW" onclick="submitform()" />
</form>

jQuery

$("form").bind('submit',function(e){
  e.preventDefault();
  var hiddenData=$("input[name=rout_markers]").val();
  // or var hiddenData=jQuery('#rout_markers').val(); 
  $("input[type=hidden][name=someNewName]").val(hiddenData);  
});

on

nextpage.php

retrieve data below way

$_POST['someNewName'];

update

set onclick=submitform() in submit button and also assign name and id attribute to form and write this

javascript

<script type="text/javascript">
function submitform()
{
  var hiddenData = document.getElementById('rout_markers').value;
  document.getElementById('someNewName').value = hiddenData;
  document.myform.submit();
}
</script>
随遇而安 2024-11-02 23:04:23

您只能接收带有 name 属性的输入,该属性将成为 $_POST (或等效)数组的键。

请使用$_POST(或$_GET)而不是$_REQUEST,后者也会查看cookie,并且可能会破坏您的期望。您应该遵循最小权限原则

要将带有 id 的值发送到您的服务器,请为其指定一个唯一的名称或通过 XHR 将 value 属性发送到您的服务器。

You can only receive inputs with a name attribute, which becomes the key of your $_POST (or equivalent) array.

Please use $_POST (or $_GET) instead of $_REQUEST, the latter also looks at cookies, and one could clobber what you expect. You should follow Principle of Least Privilege.

To send that one with an id to your server, give it a unique name or send the value property to your server via XHR.

燕归巢 2024-11-02 23:04:23

HTTP协议中没有像DOM这样的东西。

如果你想通过 HTTP 请求发送 HTML 表单,你必须使用 value 属性,仅此而已

There is no such thing like DOM in HTTP protocol.

If you want to send an HTML form via HTTP request, you have to use value attribute, that's all

无边思念无边月 2024-11-02 23:04:23

在第一种情况下,您必须使用以下方式在 php 中获取该字段的值:

$someVar = $_REQUEST['someName'];

对于第二种情况,您可以使用以下方式在 php 中获取该字段的值:

$someNewVar = $_REQUEST['someNewName'];

在 javascript 中,您可以使用以下方式获取其值:

var somenewvar = document.getElementById("element_id_name").value;

In the first case, you have to get the value of the field in php using:

$someVar = $_REQUEST['someName'];

For the second case, you can get value in php using:

$someNewVar = $_REQUEST['someNewName'];

and in javascript, you can get its value like:

var somenewvar = document.getElementById("element_id_name").value;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文