document.write js问题

时间:2013-04-13 15:06:50

标签: javascript jquery html

我正在尝试打开反馈窗口并将一些js代码放入其中。这就是我所做的:

$('#feedback').click(function(){
 mw = window.open('','','width=560,height=460');
 mw.document.write('<html><head>');
 mw.document.write('<sc'+'ript type="text/javascript" src="{{STATIC_URL}}js/jquery-1.9.0.js"></scri'+'pt>');
 mw.document.write('<sc'+'ript type="text/javascript"> function feedbacken(){'+
             'var catg = $("#catg").text(); var feedback = $("#feedback").text(); alert(catg feedback);'
              +'}</scri'+'pt>');
 mw.document.write('</head><body>');
 mw.document.write('<div style="padding-left: 30px;">');
 mw.document.write('<br/> Bitte wählen Sie die Kategorie aus: <br/> ');
 mw.document.write('<select id="catg"><option>--</option><option>Technisch</option>   <option>Inhalt</option><option>Design</option></select>');
 mw.document.write('<br/><br/>Hier bitte Ihr Feedback:');
 mw.document.write('<p><textarea id="feedback" style="width:400px;height:100px"> </textarea></p>');
 mw.document.write('<button onclick="feedbacken()"> Jetzt absenden </button>');             
 mw.document.write('</div>');
 mw.document.write('</body></html>');
});

现在,窗口打开正常,但是一旦我点击按钮,就说了。 feedbacken()函数未定义。

有人可以帮我破解这个:)

这是我的反馈元素:

<a id="feedback">Feedback</a>

3 个答案:

答案 0 :(得分:1)

alert(catg feedback);

那是无效的。尝试类似:

alert(catg);
alert(feedback);

或:

alert('catg: ' + catg + ', feedback: ' + feedback);

代替。

答案 1 :(得分:1)

我不知道这是否是主要错误,但这会导致错误:

alert(catg feedback);

您可以将其更改为:

alert(catg + feedback);

答案 2 :(得分:1)

有几个问题。

alert(catg feedback)

应该阅读......

 alert(catg, feedback)

此外,jQuery未在新窗口中初始化。