<div id="post">
<form name="postComment" id="commentPost6" action="javascript:void(0);" method="post"
target="_top" onsubmit="return commentPost(6)">
<textarea name="comment" id="comment6" class="commentText"
cols="10" rows="3" accesskey="1">
</textarea><br>
<input type="submit" name="submit" id="commentpost" value="Submit" accesskey="2">
</form>
</div>
这是我的帖子 div标记,我有多个div 标记,其id =“post”, 表单和字段是动态生成的,表单和 textarea 的ID都是唯一的,因此在点击提交时,重新查找这些值没有问题,我打电话给< strong> commentPost 方法。
function commentPost(postId)
{
alert("Inside commentpost");
//how to retrive/access value of textarea here
}
如何获得textarea的价值? 以防万一
是的,我知道有多个具有相同ID的元素是无效的HTML。
答案 0 :(得分:5)
$('#comment'+postId).val();
为什么你不是简单地使用类而不是id? (POST)
答案 1 :(得分:1)
function commentPost(postId)
{
alert("Inside commentpost");
aler($("#commentPost"+postId).find('textarea').val());
}
这将为您提供textarea值
答案 2 :(得分:1)
修改后的HTML (post
现在是一个类,javascript:
已移除action
):
<div class="post">
<form name="postComment" id="commentPost6" action="" method="post"
target="_top" onsubmit="return commentPost(this)">
<textarea name="comment" id="comment6" class="commentText"
cols="10" rows="3" accesskey="1">
</textarea><br>
<input type="submit" name="submit" id="commentpost" value="Submit" accesskey="2">
</form>
</div>
<强>使用Javascript:强>
function commentPost(form)
{
var textAreaValue = $(form).find('.commentText').val();
console.log(textAreaValue);
}
更好的是,您应该开始编写高级事件处理程序而不是这些内联事件处理程序(onsubmit=""
和朋友)。 jQuery为此提供了great methods。
$('.post form').submit(function (e) {
var textAreaValue = $(this).find('.commentText').val();
console.log(textAreaValue);
e.preventDefault(); //to prevent default event - which is form submission
});
内联事件处理程序适用于快速测试,但它们很快就会导致无法维护,混乱的HTML源代码。您应该遵循Separation of Concerns的规则。
答案 3 :(得分:0)
试试这个:
根据您在上述表单中传递与您的命名标准相匹配的postId,您有6个。
function commentPost(postId) {
alert("Inside commentpost");
// One way.
var $testAreaValue = $('textarea.commentText#comment' + postId).val();
alert($testAreaValue);
// second way.
$testAreaValue = $('#comment' + postId).val();
alert($testAreaValue);
}
希望它有所帮助。