有沒有辦法將屬性以外的值發佈到另一頁?Post輸入屬性(非值)感謝頁面
對於例如:如果我有<option value="Bulgaria" data-key="BG" data-geo="EMEA">Bulgaria</option>
我知道我可以張貼的價值,並得到它的感謝頁面用$ _ POST,
但如果我想獲得的數據密鑰,而不是的價值?
有沒有辦法將屬性以外的值發佈到另一頁?Post輸入屬性(非值)感謝頁面
對於例如:如果我有<option value="Bulgaria" data-key="BG" data-geo="EMEA">Bulgaria</option>
我知道我可以張貼的價值,並得到它的感謝頁面用$ _ POST,
但如果我想獲得的數據密鑰,而不是的價值?
你可以只有發佈value
(除非你使用AJAX和一些操作)。
$('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
});
});
更好的問題是爲什麼是你試圖做到這一點:如果你去了JavaScript的路線,這將與像這樣能實現嗎?如果您只想要輸出BG
,請將其用作value
。如果你想都Bulgaria
和BG
,你可以使用一個隱藏輸入的額外發送輔助數據(作爲value
):
<input type="hidden" name="shortcode" value="BG" />
$("#myselect option:selected").data("key") or
$("#myselect option:selected").attr("data-key")
但是你需要通過JS送價值HTML表單的insted的發送
簡單,你可以嘗試:
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']
接收它們。
可能重複[$ \ _ POST另一個屬性比值](https://stackoverflow.com/questions/11579608/post-another-attribute-than-value) –
使用formdata併發送它 – guradio