有没有办法将除值以外的属性发布到另一个页面?
例如:如果我有<option value="Bulgaria" data-key="BG" data-geo="EMEA">Bulgaria</option>
我知道我可以发布价值并使用$ _POST,
在感谢页面上获取它但如果我想获取数据键而不是值?
答案 0 :(得分:1)
<input type="hidden" name="shortcode" value="BG" />
但是你需要通过hs表单发送的js发送值
答案 1 :(得分:0)
您可以仅发布value
(除非您使用AJAX和一些操作)。如果你选择JavaScript路线,可以通过以下方式实现:
$('form').submit(function(e) {
data = {};
url = '';
e.preventDefault();
$('input', this).each(function() {
var pcs = $(this).data();
var datakey = $(this).attr('data-key');
if (undefined == data[datakey]) {
data[datakey] = {};
data[datakey]['_'] = $(this).val();
}
$.each(pcs, function(k, v) {
data[datakey][k] = v;
});
});
$.ajax({
url: url,
data: data,
type: "POST"
}).done(function() {
// data-key successfully POSTed
});
});
更好的问题是为什么您是否尝试这样做?如果您只想输出BG
,请将其用作value
。如果您希望 Bulgaria
和BG
,则可以使用隐藏输入另外发送辅助数据(作为{{1} }}):
value
答案 2 :(得分:0)
很简单,你可以尝试一下:
<强> HTML:强>
<form ... method="post" onsubmit="return form_check()">
<input type="hidden" name="data_key" id="data_key">
<input type="hidden" name="data_geo" id="data_geo">
...
<button type="submit">Submit</button>
</form>
<强> jQuery的:强>
function form_check() {
$('#data_key').val($('#myselect option:selected').data('key'));
$('#data_geo').val($('#myselect option:selected').data('geo'));
return true;
}
然后在您的PHP中,您将在$_POST['data_key']
和$_POST['data_geo']
中收到它们。