我通常做的事情就是这样一个带有隐藏字段的表格:
<input type="hidden" name="someName" value="someVal" />
我能够通过像
这样简单的东西获得价值$someVar = $_REQUEST['someVal'];
但是现在我试图通过像这样的
发送DOM元素id中的所有值<input type="hidden" name="someNewName" id="element_id_name" />
我这样做是否正确?甚至可以这样做吗?还是我离开了? 如何从最后一行获取值?或者如何以正确的方式发送数据以进行请求?
谢谢, 亚历
答案 0 :(得分:4)
您无法通过ID检索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>
$("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
以下方式检索数据
$ _ POST [ 'someNewName'];
在提交按钮中设置onclick=submitform()
,并指定name
和id
属性以形成并撰写此
<script type="text/javascript">
function submitform()
{
var hiddenData = document.getElementById('rout_markers').value;
document.getElementById('someNewName').value = hiddenData;
document.myform.submit();
}
</script>
答案 1 :(得分:2)
您只能接收具有name
属性的输入,该属性将成为$_POST
(或等效)数组的关键。
请使用$_POST
(或$_GET
)代替$_REQUEST
,后者也会查看Cookie,而且可能会破坏您的期望。您应该关注Principle of Least Privilege。
要将带有id
的服务器发送到您的服务器,请为其指定一个唯一名称,或通过XHR将value
属性发送到您的服务器。
答案 2 :(得分:1)
在HTTP协议中没有类似DOM的东西。
如果您想通过HTTP请求发送HTML表单,则必须使用value
属性,这就是
答案 3 :(得分:-1)
在第一种情况下,你必须使用以下方法获取php中字段的值:
$someVar = $_REQUEST['someName'];
对于第二种情况,您可以使用以下方式获取php中的值:
$someNewVar = $_REQUEST['someNewName'];
在javascript中,您可以获得如下值:
var somenewvar = document.getElementById("element_id_name").value;