隐藏字段值未显示在查询字符串中
Hidden field value is not appearing in query string
我有一个javascript方法,它正在做一些计算。最后,我想将其存储在隐藏字段中。这是方法:
<script>
function getQuantity(){
var count = document.getElementById('hidden').value;
var Quantity=new Array();
var i=0;
for(i=0; i<count; i++)
{
Quantity[i]=document.getElementById(i).value;
}
var myJSONQuantity = JSON.stringify(Quantity,'');
alert(myJSONQuantity);
document.qForm.getElementById('hdnQuantityArray').value = myJSONQuantity;
alert(document.qForm.getElementById('hdnQuantityArray').value);
}
</script>
我已经检查了这里,一切正常。最后一个警报是打印正确的值。这是表单,其中有一个按钮,我想通过方法 GET 提交字段:
<form name="qForm" method="GET" action="CalculateTotal.php">
<input type="hidden" id="hdnQuantityArray" name="hdnQuantityArray">
<input type="submit" value="CheckOut" id="CheckOut" name="CheckOut">
</form>
我的查询字符串显示:
http://localhost/blazorange/Customer/CalculateTotal.php?hdnQuantityArray=&CheckOut=Submit
我希望这个hdnQuantityArray
在查询字符串中有一些值。
附言这个javascript方法是从同一文件中另一个表单的提交按钮调用的。这个形式是一个PHP形式。以下是其他表单的提交按钮的代码:
<input type="submit" value=" Total " id="total" onClick="return getQuantity()">
编辑:
<table border=1>
<form id="CartForm">
<tr>
<td>
<h2> <font color='Grey'>Item Name</font> </h2>
</td>
<td>
<h2> <font color='Grey'>Item Price</font> </h2>
</td>
<td>
<h2> <font color='Grey'>Quantity</font> </h2>
</td>
</tr>
<?PHP
/* Displaying the total and purchased cart's items */
$j=0;
$temp=new Item();
while(isset($ItemsArray[$j])) {
?>
<tr>
<?PHP
if (is_string($ItemsArray[$j])) {
$temp=unserialize($ItemsArray[$j]);
}
$ItemName=$temp->getItemName();
$Price=$temp->getPrice();
?>
<td>
<font color='Black'><?PHP echo $ItemName; ?>
</td>
<td>
<font color='Black'><?PHP echo $Price; ?></font>
</td>
<td>
<input type="text" id="<?PHP echo $j;?>"/>
</td>
</tr>
<?PHP $j++; }?>
<table>
<input type="button" value=" Total " id="total" onClick="getQuantity()">
<input type="hidden" value="<?PHP echo $j; ?>" id="hidden">
</form>
</table>
document.getElementById('hidden')
应该是
document.getElementById('hdnQuantityArray')
您发布的代码中没有 id 为"隐藏"的元素。
编辑:
你是说JS仅在提交CartForm时运行?这会重新加载页面,对吧?当页面重新加载时,hdnQuantityArray 为空。因此,当您提交 qForm 时,那里什么都没有,因为页面加载了一个空白字段,并且 JS 没有再次运行。听起来对吗?
你不应该这样做吗:
document.getElementById('hdnQuantityArray').value = myJSONQuantity;
alert(document.getElementById('hdnQuantityArray').value);
我删除了document.getElementById调用中不必要的"qform"。
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 从查询字符串参数推断出正确的数据类型
- AngularJS:获取链接中没有哈希的查询字符串值
- AngularJS,如何更改查询字符串
- 如何将activeadmin查询字符串传递给batch_action
- 如何从查询字符串中的输入字段发回文本
- Django在使用AJAX时没有接收到新的查询字符串
- 使用查询字符串方法清除浏览器缓存
- 用于刷新的Javascript更改查询字符串
- 我想将查询字符串变量添加到JSON名称/值对中
- 将查询字符串值从页面传递 asp.net 到 iframe
- jqueryajax生成查询字符串,如果未定义则不通过
- 如何将查询字符串传递到HTML框架
- AngularJs将查询字符串发布到c#控制器
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 在 JavaScript 中将查询字符串传递给 Web 服务 (ASP.NET)
- 在查询字符串中查找 where 子句
- POST encodeURI查询字符串内部服务器错误 500
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- 更改链接 URL 中的路径名,同时保持查询字符串不变