[英]javascript variable in hidden form to another php script
我正在以隱藏形式將javascript值發送到php腳本。 這是代碼。
<script type="text/javascript">
$(document).ready(function() {
$('form').submit(function(e) {
var mydata = 3;
if ($(this).is(':not([data-submit="true"])'))
{
$('form').append('<input type="hidden" name="foo" value=mydata>');
$('form').data('submit', 'true').submit();
e.preventDefault();
return false;
}
})
})
在我的PHP腳本中,我正在訪問以下值。
$src1= $_POST['foo'];
echo $src1;
我已經將mydata
初始化為3。我期望在我的php腳本中輸出為3,但是我卻得到了字符串mydata 。
用這個:
$('form').append('<input type="hidden" name="foo" value="'+mydata+'">');
在這里,mydata被視為變量而不是String。
您沒有正確連接字符串,請嘗試以下方式:
$('form').append('<input type="hidden" name="foo" value="' + mydata +'">');
所有問題是您將mydata
作為字符串而不是作為變量本身傳遞,因此需要正確連接以將Value傳遞給Value,因為它可以正常工作。
使用此代碼:
<script type="text/javascript">
$(document).ready(function() {
$('form').submit(function(e) {
var mydata = 3;
if ($(this).is(':not([data-submit="true"])'))
{
$('form').append('<input type="hidden" name="foo" value="'+mydata+'">');
$('form').data('submit', 'true').submit();
e.preventDefault();
return false;
}
})
})
您現在看到, <input>
value=""
html屬性的實際值將是3
而不是"mydata"
。
這樣,您將可以訪問$_POST['foo'];
在php頁面上,獲取3
。
JavaScript字符串不插值變量。 它們不能-JavaScript標識符不是以sigils開頭的,因此無法將字符串中的變量名與一段文本區分開。
快速,骯臟和不安全的方法是分解字符串並將其連接起來:
$('form').append('<input type="hidden" name="foo" value="' + mydata + '">');
但是,如果mydata
包含"
,則失敗,並且如果包含&
,則可能會給出怪異的結果,因此請使用DOM(或圍繞該jQuery的包裝器)構建HTML。
$('form').append(
$('<input>').attr('type', 'hidden').attr('name', 'foo').attr('value', mydata)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.