我將開發多項選擇測驗提交專案,我創建了一個表單,用戶可以在其中提交這些輸入,其中包含表單測驗標題、橫幅、描述、quiz_category、quiz_language 等,帶有 1 個問題和 4 個選項欄位
我有使用 Tailwind CSS、Node JS、Express JS 和 Java Script
var quizNo = 1;
addQuiz()
function addQuiz() {
// Here i Will Store Quiz Option Input Box
var h = document.getElementById("question");
var quiz_container = '<div id="question_' quizNo '" > '
' <div > '
' <div > '
' <div > '
' <label htmlFor="grid-password"> '
' Quiz Question '
' </label> '
'<input type="text" name="quiz_question_' quizNo '" '
' '
' placeholder="Enter Quiz Question" /> '
' <label htmlFor="grid-password"> '
' Quiz Option '
' </label> '
' <div > '
' <div> '
' <input type="text" name="quiz_option_1_' quizNo '" '
' '
' placeholder="Enter Option 1" /> '
' </div> '
' <div> '
' <input type="text" name="quiz_option_2_' quizNo '" '
' '
'placeholder="Enter Option 2" /> '
'</div> '
'</div> '
'<div > '
'<div> '
'<input type="text" name="quiz_option_3_' quizNo '" '
' '
'placeholder="Enter Option 3" /> '
'</div>'
'<div> '
'<input type="text" name="quiz_option_4_' quizNo '" '
' '
'placeholder="Enter Option 4" /> '
' </div> '
' </div> '
'</div>'
'</div>'
'</div > '
'</div>';
quizNo = 1;
h.insertAdjacentHTML("afterend", quiz_container);
document.getElementById("total_quiz").setAttribute("value", quizNo);
}
<input type="hidden" name="total_quiz" value="" id="total_quiz" />
<div id="question">
</div>
<input type="button" onclick="addQuiz()" value="Add Quiz" class="float-right text-pink-500 bg-transparent border border-solid border-pink-500 hover:bg-pink-500 hover:text-white active:bg-pink-600 font-bold uppercase text-xs px-4 py-2 rounded outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150">
提交表格后,我得到這樣的資料
我的 JSON 物件是
{
quiz_title: 'Simple quiestion',
quiz_desc: 'Enter Quiz Description Here',
total_quiz : '4',
quiz_question: 'question title 1',
quiz_option_1: 'opt 1',
quiz_option_2: 'opt 2',
quiz_option_3: 'opt 3',
quiz_option_4: 'opt 4',
quiz_question_2: 'question title 3',
quiz_option_1_2: 'opt 1',
quiz_option_2_2: 'opt 2',
quiz_option_3_2: 'opt 3',
quiz_option_4_2: 'opt 4',
quiz_question_1: 'question title 2',
quiz_option_1_1: 'opt 1',
quiz_option_2_1: 'opt 2',
quiz_option_3_1: 'opt 3',
quiz_option_4_1: 'opt 4',
quiz_cat: 'basic_computer',
quiz_lang: 'hindi',
submit: 'Submit'
}
現在我想像這個模式一樣
var quiz = [{
id: i,
question: question,
option: [{
option_1: option_1,
option_2: option_2,
option_3: option_3,
option_4: option_4
}],
answer : (req.body.quiz_answer "_" i)
}];
我正在嘗試這樣的事情請幫助我
console.log(req.body);
var total_quiz = req.body.total_quiz ;
var all_quiz;
var question, option_1, option_2, option_3, option_4;
for(var i = 1; i <= total_quiz - 1; i ) {
question = req.body[quiz_question "_" i]
option_1 = req.body.quiz_option_1 "_" i;
option_2 = req.body.quiz_option_2 "_" i;
option_3 = req.body.quiz_option_3 "_" i;
option_4 = req.body.quiz_option_4 "_" i;
console.log(question, option_1, option_2, option_3, option_4);
var quiz = [{
id: i,
question: question,
option: [{
option_1: option_1,
option_2: option_2,
option_3: option_3,
option_4: option_4
}],
answer : (req.body.quiz_answer "_" i)
}];
console.log(quiz);
all_quiz.push(quiz)
}
基本上我是 JSON 專案的新手,在此先感謝您對我的幫助
uj5u.com熱心網友回復:
您說您有描述的 JSON 物件,但您似乎正試圖從名為 req.body 的變數中讀取該資料,這不是我希望正常找到該資料的地方 - 但您沒有向我們展示代碼把它放在那里。因此,假設您的 req.body 變數實際上包含 JSON 輸出,如圖所示......
看起來你真的很親近。您只需要稍微清理一下該代碼。對于初學者,將你的 all_quiz 變數初始化為一個空陣列:
var all_quiz = [];
然后,需要修復輸入值的所有運算式,如下所示:
question = req.body["quiz_question_" i];
option_1 = req.body["quiz_option_1_" i];
// ... etc.
最后,您不需要將 quiz 變數的值設為陣列 - 只需將其設為普通物件即可:
var quiz = {
id: i,
// ... etc.
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/417378.html
標籤:
