我有这个界面:
当单击“添加另一个”按钮时,我将必须添加另一个看起来与此相同的界面,以便整个界面看起来像这样:
我有了textarea的属性onfocus,以便在焦点时清除它的内容,并且它完全正常工作,这是它的代码:
<textarea name="educationDescription1" id="educationDescription1" rows="5" cols="33" onfocus="clearContents(this);">Describe your studying experience in a couple of sentences.</textarea>
现在我遇到了为创建的textarea做同样的问题,尽管我使用了相同的语法!这是用于创建新文本区域的代码:
var node6 = document.createElement("textarea");
node6.rows="5";
node6.cols="33";
node6.onfocus="clearContents(this);";
node6.value="Describe your working experience in a couple of sentences.";
node6.name="experienceDescription"+experiences;
node6.id="experienceDescription"+experiences;
知道可能是什么问题吗? 谢谢
答案 0 :(得分:1)
此:
node6.onfocus="clearContents(this);";
应该替换为:
node6.onfocus=function(){clearContents(this);};
答案 1 :(得分:1)
我猜您可能希望使用placeholder
属性而不是onfocus
。
如果您使用onfocus
,即使用户输入了有效数据,每当用户对其进行聚焦时,textarea也会被清除。
使用jQuery设置placeholder
的代码可能是这样的:
var node6 = $("<textarea></textarea>");
...
node6.attr('placeholder','Describe your working ...');
这是小提琴。 http://jsfiddle.net/naokiota/j687tg80/2/
希望这有帮助。
答案 2 :(得分:1)
在node6.onfocus
中,onfocus
需要一个函数引用。您正在分配一个字符串。应该是这样的,
node6.onfocus=function(){clearContents(this);};
或者您可以使用addeventListner
功能
node6.addEventListener('onfocus',function(){clearContents(this);});
或者如果你想将onfocus添加到html中,你必须创建一个新属性并将其设置为这样。
var attr = document.createAttribute('onfocus');
attr.value="clearContents(this)";
node6.setAttributeNode(attr);