我有这个代码:
<input type="hidden" id="editorTitle" name="title" value="home">
<textarea name="text" id="editorText"></textarea>
字符集
但是当我写$('#editorTitle').val()
和$('#editorText').html()
时,$('#editorTitle').val()
是'undefined',$('#editorText').html()
是空的?
怎么了?
编辑:
以下是我的完整代码:
function openEditor() {
$("#editor").show().animate({ width: 965, height: 380 }, 1500);
$("#editor textarea").show();
}
function closeEditor() {
$("#editor").animate({ width: 985, height: 1 }, 1500, function () {
$("#editor").hide();
$("#editor textarea").hide();
});
}
function setedit() {
$.ajax({
type: "POST",
url: "engine.php",
data: "title=" + $('#editorTitle').attr('value') + "&text=" + $('#editorText').html(),
beforeSend: function () {
$('#mainField').html('<img src="data/images/loader.gif" alt="Loading...">');
},
success: function (msg) {
alert(msg);
closeEditor();
search();
}
});
}
function search() {
$('#title').val($('#search').val());
$.get('engine.php?search=' + $('#search').val(), function (data) {
$('#mainField').html(data);
});
$.get('engine.php?raw=true&search=' + $('#search').val(), function (data2) {
$('#editorText').html(data2);
});
$.get('engine.php?title=true&search=' + $('#search').val(), function (data2) {
$('#h1').html(data2); // Row 152
$('#editorTitle').html(data2);
});
}
$(document).ready(function () {
$("#ready").html('Document ready at ' + event.timeStamp);
});
型
“怎么了?
8条答案
按热度按时间ctehm74n1#
*您可能在 * HTML:example之前包含了JavaScript 。
您应该在窗口加载时执行JavaScript(或者在DOM完全加载时更好),或者您应该在HTML:example之后包含JavaScript *。
z0qdvdin2#
你应该在文档准备好后调用事件 *,像这样:
字符集
这是因为您试图在浏览器呈现元素之前对其进行操作。
因此,在您发布的情况下,它应该看起来像这样
型
希望对你有帮助。
d7v8vwbk3#
这是愚蠢的,但为将来的参考。我把我所有的代码:
字符集
但它仍然不工作,它返回
undefined
值。型
我意识到我在jQuery中引用它是错误的:
型
使其:
型
解决了我的问题
所以最好检查一下你以前的代码。
xtupzzrd4#
会不会是你忘了在文档准备功能中加载它?
字符集
r8uurelv5#
我昨天在一个项目中遇到了这个问题,我是我的特例,问题不在于输入的名称,而是ID的命名方式。
字符集
删除括号解决了这个问题:
型
无论如何,可能对某些人来说是不需要动脑筋的,但如果这对其他人有帮助的话.给你!
:-)-德鲁
nwsw7zdq6#
你可能忘了用
$()
Package 你的对象字符集
正确的是
型
tkqqtvp17#
try:
$('#editorTitle').attr('value')
?nlejzf6q8#
在我的例子中,我有两个同名的函数。