我正在制作一个节日贺卡,其行为与fb非常简单,在评论部分,我似乎无法获取并设置用户拥有后出现的动态创建文本框的值添加了一个新的注释...我正在创建一个新的文本字段,其中包含id的附加数字以识别它,我可以在创建它的函数中设置值,但是一旦从另一个函数中查找它,代码就会中断。有任何想法吗?我想这可能会取决于文档中函数的位置,但不确定。这是一个链接:
简而言之:
comment()包含以下修改输入字段的代码
// var subject = 'HI593F1' or something like that;
// var current_comment = new Array() and keeps count of the current new comment box
// this resulting value looks like this: 'comment-HI593F1-2'
var comment_field = 'comment-'+subject+'-'+current_comment[subject];
document.getElementById(comment_field).value = 'Write a comment...';
document.getElementById(comment_field).onblur = function() { ghost('comment', subject); }
document.getElementById(comment_field).onfocus = function() { unghost('comment', subject); }
document.getElementById(comment_field).onkeypress = function() { text_color('comment', subject); }
unghost()的工作原理如下:
function unghost(field, number) { // field = 'comment' ... this is 'comment' because this function modifies more than one field var ogfield = field; // if another comment is expanded if (current) { collapse_comment(current); } current = number; // like var comment field in the comment() function if (number) { field = field+"-"+number+"-"+current_comment[number]; } // below is where the code breaks ... values[ogfield] = 'Write a comment...'; // should look like this: document.getElementById('comment-HI593F1-2').value == 'Write a comment...' if (document.getElementById(field).value == values[ogfield]) { document.getElementById(field).value = \'\'; } // change the color of the field text text_color(field, number); }
答案 0 :(得分:1)
您没有将预期值传递给text_color
方法。
我已经在下面提供了一些代码。使用两个参数查看输入调用onBlur
的{{1}}属性。以下是ghost
的正文,其中ghost
参数已修改,然后传递到field
- 这又会修改该值。
text_color
我建议创建一个新的<input type="text" id="comment-MS584C7-1" value="Write a comment..." style="width: 386px; height: 20px; border: 1px solid #c1dcc0; color: #666464; padding: 3px;" onBlur="ghost('comment', 'MS584C7');" onFocus="unghost('comment', 'MS584C7');" onkeypress="text_color('comment', 'MS584C7');" />
function ghost(field, number)
{
var ogfield = field;
if (number)
{
field = field+"-"+number+"-"+current_comment[number];
}
if (!document.getElementById(field).value)
{
document.getElementById(field).value = values[ogfield];
}
text_color(field, number);
}
变量来保存原始数字值。然后将ognumber
和ogfield
传递给ognumber
。
text_color
遇到同样的问题。
修改强> 我正在使用Chrome,这是我点击评论时发送的请求标题。
unghost
我输入的评论正在通过。