我想從表單向JavaScript傳遞一個動態創建的ID。從PHP傳遞一個變量形式的id到javascript
<script type="text/javascript">
$(function() {
$(".button-call").click(function() {
var fld = "<?= $div_id;?>";
var test = $(fld).val();
alert(test);
...
<form method="post" action="" enctype="multipart/form-data">
<input type="text" class="tb" name="<?php echo $div_id; ?>" id="<?php echo $div_id; ?>" value="" maxlength="80" />
<input type="submit" value="Send" class="button-call" name="p_k2" id="p_k2" />
</form>
alert(test)顯示:undefined。
當我改變它提醒(FLD)我得到兩個警報,首先它顯示一個空框,然後正確$ div_id
我在做什麼錯?
編輯1:我想顯示從輸入文本...
編輯2:這是一個完整的JavaScript:
<script type="text/javascript">
$(function() {
$(".button-call").click(function() {
//var fld = "<?= $div_id;?>";
var fld = "input[name=<?=$div_id;?>]";
//var fld = "#<?=$div_id;?>";
var test = $(fld).val();
var dataString = 'content='+ test;
alert(fld);
alert(test);
if(test=='')
{
alert("Write some text ...");
}
else
{
$("#flash").show();
$("#flash").fadeIn(1000).html('<img src="images/ajax-loader.gif" align="absmiddle"> <span class="loading"> Loading ...</span>');
$.ajax({
type: "POST",
url: "p_k2.php",
data: dataString,
cache: false,
success: function(html){
$("#divToRefresh").after(html);
document.getElementById(fld).value='';
document.getElementById(fld).focus();
$("#flash").fadeOut(1000);
}
});
}
return false;
});
});
</script>
編輯3:這是我的例子m使用:http://www.9lessons.info/2009/05/insert-and-load-record-using-jquery-and.html 一切工作正常,如果我使用固定的ID。但無法使用動態創建的ID進行操作。
編輯4: 好吧,有很多答案,但他們似乎沒有工作。我會盡量簡化。
我會回到這個例子,我開始的這個例子(http://www.9lessons.info/2009/05/insert-and-load-record-using-jquery-and.html)。
我的網站與Facebook類似。你有朋友,並且在你的「牆上」頁面上有許多不同的評論框(針對你的每個朋友)。 要使這些評論框的ID不同(爲了避免向所有朋友發佈內容),我必須使用數據庫中的朋友ID(input type="text" class="tb" name="<?php echo $div_id; ?>" id="<?php echo $div_id; ?>" value=""
)。那部分工作正常。
我可以得到該id到JavaScript(var fld = "input[name=<?=$div_id;?>]";
),但我無法讀取該文本字段的值。一旦我這樣做,我會好好照顧那個插入到我的數據庫中...
看看我的答案,它應該工作 – genesis