谢谢Brian。按照您的建议移动我的脚本块,它现在正在发送语句。了不起!不幸的是,它不是捕获某人在表单中输入的名称,而是给我一个演员名称“fullname”。我可以对表单或脚本做些什么来解决这个问题吗?我的最新代码如下。非常感谢。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form id="frm1" action="">
Full Name: <input type="text" id="fullNameID" name="fullName"><br>
Email: <input type="text" id="emailAddressID" name="emailAddress"><br><br>
<input type="button" id="theButton" value="Submit">
</form>
<p>
<code><pre id='output'></pre></code>
</p>
<script src="js/xapiwrapper.min.js"></script>
<script type="text/javascript">
var button = document.getElementById("theButton"),
fullName = button.form.fullNameID.value;
emailAddress = button.form.emailAddressID.value;
button.onclick = function() {
var stmt = new ADL.XAPIStatement(
new ADL.XAPIStatement.Agent(ADL.XAPIWrapper.hash('mailto:emailAddress'), 'fullName'),
new ADL.XAPIStatement.Verb('http://adlnet.gov/expapi/verbs/registered', 'registered'),
new ADL.XAPIStatement.Activity('act:http://ISO9000Video.html', 'Preparing for the ISO 9000 Audit',
'Preparation steps for the upcoming ISO 9000 audit.')
);
stmt.generateId();
stmt.addOtherContextActivity( new ADL.XAPIStatement.Activity('compId:internet_proficiency') );
stmt.generateRegistration();
ADL.XAPIWrapper.changeConfig({
'endpoint': 'https://lrs.adlnet.gov/xapi/',
'user': 'xapi-tools',
'password': 'xapi-tools',
});
ADL.XAPIWrapper.sendStatement(stmt);
var o = document.getElementById('output');
o.innerText = JSON.stringify(stmt, null, ' ');
}
</script>
</body>
</html>
答案 0 :(得分:0)
您的代理创建行中有值硬编码的值:
new ADL.XAPIStatement.Agent(ADL.XAPIWrapper.hash(&#39; mailto:emailAddress&#39;),&#39; fullName&#39;),
而不是使用您设置的变量。要抢占下一个可能的问题,您可以在页面加载时设置这些变量的值,而不是在您可能需要它们的点击处理程序中设置。