1

这是HTML和脚本

 <script>  $(document).ready(function(){  
 $(".update_button").click(function(){ 

 var update_post = $("#post").val();
 alert('Post is '+ update_post +'.');
 return false;
 });
 });
 </script>

 <body>
     <fieldset style="width:600px; height:550px">
       <textarea id="post" class="uiwysiwyg nothing"><?php echo $prvpost; ?></textarea>
       <input type="submit" value="Post" id="updt_button" class="update_button"/>
     </fieldset> </body>

注意:class="uiwysiwyg nothing" 是一个包含所见即所得命令的脚本

但代码有效:

 <body onsubmit="alert('Update: ' + document.getElementById('post').value); return false;">
     <fieldset style="width:600px; height:550px">
       <textarea id="post" class="uiwysiwyg nothing"><?php echo $prvpost; ?></textarea>
       <input type="submit" value="Post" id="updt_button" class="update_button"/>
     </fieldset>
 </body>
4

6 回答 6

2

尝试

var update_post = $("#post").val();
alert(update_post); 
于 2012-07-13T06:51:04.120 回答
1

通过使用 $(.post) 您正在使用类似 document.getElementByClass ...如果您想要 document.getElementById 请使用 $("#post)...是的,请检查 jquery Selectors

编辑:-您的代码很好..刚刚在jsfiddle检查过

于 2012-07-13T07:03:40.957 回答
0

这是因为在第一个示例中,您将post其用作 id。在第二个示例中,您将其用作 css 类 ( .post)。第二个例子应该是#post

查看jQuery 选择器了解更多信息。

于 2012-07-13T06:51:22.267 回答
0

我假设“post”是 ID 而不是 CSS 类,所以你必须使用“#”

var update_post = $("#post").val();
alert(update_post); 
于 2012-07-13T06:51:24.700 回答
0

不要使用“.post”,而是使用“#post”。一个 ”。” 指定类名,“#”指定元素 ID。

您的代码将如下所示:

var update_post = $("#post").val();
alert(update_post); 
于 2012-07-13T06:51:33.897 回答
0

正如我已经在评论中写道:

Textarea 表单元素没有值,您可以通过 .text() (纯可读文本)或 .html() (用于添加到 DOM 的 HTML 标记和实体转换)获取它们的内容。尽管较新版本的 jQuery 已经为您执行此操作并通过 .val() 获取 textarea 的内容。

因此,您可以更新您的 jQuery 版本(主要是一个好主意)或尝试以下代码:

$(document).ready(function(){
  $(".update_button").click(function(){
    var update_post = $("#post").html();
    alert('Post is '+ update_post +'.');
    return false;
  });
});
于 2012-07-13T07:31:19.750 回答