您能告诉我提交提交按钮值和提交隐藏输入值之间的区别吗?
我问的问题尤其是关于浏览器兼容性(IE 9 +)。
所以,我的问题实际上是以下内容:我知道服务器始终正确读取已发布的隐藏输入值。但我不确定是否也是这种情况,如果值(我想发布)是"value"
标记的<button>
属性的一部分。
非常感谢你的时间!
P.S:我为了清晰起见准备了一个例子。它包含我的问题中每个选项的表单。提交其中一个表单时,将在PHP中读取相应的值。相关的是用户ID值。<?php
if (isset($_POST['submitUserId']) && !empty($_POST['submitUserId'])) { // Submitted values.
$userId = $_POST['submitUserId'];
$userName = $_POST['userName'];
echo 'Posted user id: ' . $userId;
echo '<br/>';
echo 'Posted user name: ' . $userName;
// Save the new values in db...
} else { // Initial values fetched from db.
$userId = 123;
$userName = 'Valentine';
echo 'Initial user id: ' . $userId;
echo '<br/>';
echo 'Initial user name: ' . $userName;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test - Submit button value vs. hidden input value</title>
</head>
<body>
<h4>Option 1: Submit <i>user id</i> as submit button value</h4>
<form action="" method="post" id="formButtonValue" name="formButtonValue">
<input type="text" id="userName" name="userName" value="<?php echo $userName; ?>" />
<button type="submit" id="submitUserId" name="submitUserId" value="<?php echo $userId; ?>">
Submit user details
</button>
</form>
<h4>VS.</h4>
<h4>Option 2: Submit <i>user id</i> as hidden input value</h4>
<form action="" method="post" id="formHiddenInputValue" name="formHiddenInputValue">
<input type="text" id="userName" name="userName" value="<?php echo $userName; ?>" />
<input type="hidden" id="submitUserId" name="submitUserId" value="<?php echo $userId; ?>" />
<button type="submit" id="submitButton" name="submitButton">
Submit user details
</button>
</form>
</body>
</html>
答案 0 :(得分:1)
在提交数据流程中,没有任何区别。
服务器端永远不会知道或关心如何在客户端显示或处理输入。
事实上,在您的代码中,隐藏输入中的value
和按钮中的var url ="http://api.geonames.org/postalCodeSearchJSON?postalcode=110084&maxRows=100&username=dhirajshivaji";
$.post(url, function(results) {
for(var i = 0; i < results.postalCodes.length; i++)
{
var name = postalCodes[i]["adminName3"];//change
alert(name);
}
});
对用户都是隐藏的。
答案 1 :(得分:0)
没有区别
提交用户ID作为提交按钮值( var_dump($ _ POST))
array(2) { ["userName"]=> string(9) "Valentine" ["submitUserId"]=> string(3) "123" }
将用户ID提交为隐藏输入值( var_dump($ _ POST))
array(3) { ["userName"]=> string(9) "Valentine" ["submitUserId"]=> string(3) "123" ["submitButton"]=> string(0) "" }