我正在尝试将动态创建的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:这是我正在使用的示例: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;?>]";
)但是,我无法读取该文本字段的值。一旦我这样做,我将负责将其插入我的数据库...
答案 0 :(得分:1)
var test = $("#"+fld).val();
alert(test);
答案 1 :(得分:1)
试
var fld = "input[name=<?=$div_id;?>]";
或更好
var fld = "#<?=$div_id;?>";
答案 2 :(得分:1)
你可以在点击事件处理程序中使用$(this)。
即
$(".elementClass").click(function(){
alert($(this).attr("id"));
});
将返回被点击的.elementClass的id。