我编写了一个函数,用于打印DOM的某个区域,该区域由通过JavaScript呈现的按钮单击触发。请参阅以下代码......
function MarkQuiz() {
var CorrectAnswers = 0,
TotalQuestions = 0,
CurrentQuestion = "",
Percentage = 0,
Output = "";
$("select").each(function(key,value) {
CurrentQuestion = "#" + $(value).attr("id");
TotalQuestions = key + 1;
if($(CurrentQuestion).val() == "Correct") {
CorrectAnswers++;
}
});
Percentage = (CorrectAnswers / TotalQuestions) * 100;
Output = "You Scored..." +
"<h1>"+Percentage+"%</h1>" +
"Which means you got " + CorrectAnswers + " out of " + TotalQuestions + " correct.<br/>" +
"<br/><a href='#' onclick='PrintCertificate('#QuizMainContent')' class='button' id='PrintCertificate'>Print your Certificate</a>";
$("#QuizMainContent").html(Output);
}
function PrintCertificate(DOMArea) {
var PrintArea = $(DOMArea),
PrintWindow = window.open('','');
PrintWindow.document.write($(PrintArea).html());
PrintWindow.document.close();
PrintWindow.focus();
PrintWindow.print();
PrintWindow.close();
}
这是项目的网址:http://historicalperiods.esy.es/
我做错了什么? 在此先感谢。
答案 0 :(得分:1)
<a href="#" onclick="PrintCertificate(" #quizmaincontent')'="" class="button" id="PrintCertificate">Print your Certificate</a>
这是在您的HTML中。导致问题的原因是什么。如您所见,您使用"
打开属性,然后在javascript函数中使用"
,然后关闭函数'
中的参数,然后使用{关闭属性{1}},然后你'
(这没有意义)。
它应该是正确的方式:
=""
答案 1 :(得分:0)
感谢您的帮助...
我通过对L Ja提供的答案稍作修改来纠正这个问题......
'<br/><a href="#" onclick="PrintCertificate(\'#QuizMainContent\')" class="button" id="PrintCertificate">Print your Certificate</a>';