2015-11-03 48 views
0

不知何故,我遇到了一个语法问题。我这里有jQuery,函数.html正确的语法

$('#logoutput').html("<div id=\"loginbox\" class=\"boxgrid\">Username: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"text\" name=\"loginname\" value="+$userip+"\">Password: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"hidden\" name=\"loginpass\" value="+$userpw+"\"></div>"); 

此代码,如果内容仅供:

$('#logoutput').html("<div id=\"loginbox\" class=\"boxgrid\">Username: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"text\" name=\"loginname\">" 

它不显示我的错误。

难道这是因为我在jQuery函数中实现了错误的变量吗?

+0

为$ userpw和$ USERIP界定?你得到了哪个错误? – Carlos2W

+0

第1步:打开一个文本编辑器,将你要输入的代码放到'html()'中,然后把它变成普通的HTML代码,而不用所有的这些'\“',你会发现你的拼写错误很快。 ,请不要使用这种方式构建结构化内容,请使用模板解决方案。 –

+1

请删除标题中的“[求解]”,但不需要Stack Overflow。如果问题已被某人回答解决,请将该答案标记为已接受。如果你自己想出了这个答案,请在答案部分(不是问题的一部分)作为答案写下来;如果你愿意,也可以将其标记为已接受。 – usr2564301

回答

1

不是你的问题的真实答案,但它会帮助你减少这个问题:不要使用这样的字符串。至少使用一个模板。有很多是为你做的模板库,但至少这样做:

<script type="text/html" id="mooTemplate"> 
    <div id="loginbox" class="boxgrid"> 
    Username: 
    <form action="" method="post"> 
    <input class="textfieldcss" type="text" name="loginname" value="{{ userip }}"> 
    Password: 
    <form action="" method="post"> 
    <input class="textfieldcss" type="hidden" name="loginpass" value="{{ userpw }}"> 
    </div> 
</script> 

然后在将其交换:

var templateHTML = $("#mooTemplate").text() 
        .replace(/{{ userip }}/, userip) 
        .replace(/{{ userpw }}/, userpw); 
$(target).html(templateHTML); 

虽然再次,不滚这个自己,只使用网络上提供的许多预制模板解决方案之一。我个人喜欢nunjucks,但也有其他人。

+0

感谢您的答案我会研究它,所以我可以按照自己的方式实现它,绝对可以让事情变得更轻松 – Epinephrine

0

This似乎工作:

$('#logoutput').html('<div id=\"loginbox\" class=\"boxgrid\">Username: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"text\" name=\"loginname\" value="'+$userip+'"\">Password: <form action=\"\" method=\"post\"><input class=\"textfieldcss\" type=\"hidden\" name=\"loginpass\" value='+$userpw+'"\"></div>'); 
+0

拧那些小小的'+应该与他们先跑,而不是做evrything双引号大声笑 – Epinephrine