2012-10-08 40 views
0

我一直在敲打我的脑袋上这个现在一段时间...卡住调用的onclick功能

medReviewCtrl = "<form name=\"medsreviewedform\"> \ 
    <input type=\"button\" class=\"medsreviewedclass\" name=\"medsreviewedname\" \ 
    id=\"medsreviewedid\" value=\"7 minutes ago\" onclick=\"ChangeButtonText(this)\" \ 
    </form>"; 

function ChangeButtonText(button){ 
    document.getElementById("medsreviewedid").value="Value has changed"; 
}​ 

我有,我创建一个dynammic DIV其中的这个按钮是它的一部分JS文件。该按钮显示正常,但当我尝试调用此函数时,我得到对象预期。如果我这样做就行了;

onclick=\"this.value=this.value==this.defaultValue?'Less than a minute ago':this.defaultValue;\" />"; 

最终默认值将从时间值(1个星期前)中导出,并且在的onclick目标将写入值到数据库和按钮值会像不到一分钟前。我有一切,但我无法弄清楚如何改变价值。

我试过的代码是jsFiddle,它在那里工作,但在我的例子中没有。 http://jsfiddle.net/hPQP9/61/

任何帮助表示赞赏!

+0

分享链接到jsFiddle示例。 – WTK

+0

我不知道为什么你之前有反斜杠“有没有需要它,它可能会导致一些问题... – gabrjan

+0

你能提供链接到jsFiddle? –

回答

0

试试这个,我更喜欢使用的HTML代码单引号:

medReviewCtrl = '<form name="medsreviewedform"> \ 
<input type="button" class="medsreviewedclass" name="medsreviewedname" \ 
id="medsreviewedid" value="7 minutes ago" onclick="ChangeButtonText(this)"> \ 
</form>'; 
+0

欣赏,但它仍然失败。 – cbm64

0

好了,有趣的; Javascript vs jquery ...

$(function(){ 
    $("#medsreviewedid").click(function(){ 
     alert('hi'); 
    }); 
}); 

medReviewCtrl = '<form name="medsreviewedform"> \ 
    <input type="button" class="medsreviewedclass" name="medsreviewedname" \ 
    id="medsreviewedid" value="7 minutes ago"></form>'; 

工作正常!