这是我尝试过的代码,它可以很好地解决并排问题。我的要求是在一个地方有 5 列,并且一列必须总计 100,qualtrics 不会在并排问题中给出必须总计 100 的验证。
步骤: 1)隐藏下一个按钮 2)添加下一个按钮2并单击事件。
还有其他方法可以做到这一点吗?
Qualtrics.SurveyEngine.addOnload(function()
{
document.getElementById("NextButton").style.display = "none";
ButtonHTML = document.getElementById("Buttons").innerHTML;
ButtonHTML = ButtonHTML + "<input aria-label='Next' id='NextButton2' class='NextButton Button' title='Next' name='NextButton2' value=' >> ' data-runtime-disabled='runtime.Disabled' data-runtime-aria-label='runtime.ariaLabel' role='button' page-id='P_1425294269078' type='submit'>";
document.getElementById("Buttons").innerHTML = ButtonHTML;
document.getElementById("NextButton2").addEventListener("click", function(){
if(ColumnTotal()) {
document.getElementById("NextButton").click();
}
});
function ColumnTotal() {
var txtFirstNumberValue = document.getElementById('QR~QID190#2~1~1~TEXT').value;
var txtSecondNumberValue = document.getElementById('QR~QID190#2~2~1~TEXT').value;
var txtThirdNumberValue = document.getElementById('QR~QID190#2~3~1~TEXT').value;
var txtFourNumberValue = document.getElementById('QR~QID190#2~4~1~TEXT').value;
var txtFiveNumberValue = document.getElementById('QR~QID190#2~5~1~TEXT').value;
if(isNaN(txtFirstNumberValue)) {
txtFirstNumberValue = 0;
}
if(isNaN(txtSecondNumberValue)) {
txtSecondNumberValue = 0;
}
if(isNaN(txtThirdNumberValue)) {
txtThirdNumberValue = 0;
}
if(isNaN(txtFourNumberValue)) {
txtFourNumberValue = 0;
}
if(isNaN(txtFiveNumberValue)) {
txtFiveNumberValue = 0;
}
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue)+ parseInt(txtThirdNumberValue)+ parseInt(txtFourNumberValue)+ parseInt(txtFiveNumberValue);
if(result != 100) {
alert("Please total the choices to 100.");
return false;
}
else {
return true;
}
}
});
因此,如果有人知道 Qualtrics 并知道它为什么这样做或任何其他方法,这将是一个帮助。