基本上,我需要在HTML文本輸入中構建一大串。如何將許多文本輸入保存爲PHP字符串?
首先,這些文本輸入是由一個按鈕動態創建的,因此,可以根據用戶需要輸入任意數量的輸入。
這裏是每個單獨的動態創建的文本輸入的格式:
[question] [incorrect-answer1]
[incorrect-answer2]
[incorrect-answer3]
[correct-answer]
Remove
用[]包圍的每個項目是文本輸入,具有「刪除」是一個按鈕,刪除了當前問題沿。
這是創建的每個動態問題,我的整個jQuery函數:
function dynamicForm() {
//set a counter
var i = $('.dynamic-input#form-step2').length + 1;
//alert(i);
//add input
$('a#add').click(function() {
$('<table><tr><td><p><span class="left"><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Question" /></span>' +
'<span class="right"><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Distraction 1" /><br /><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Distraction 2" /><br /><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Distraction 3" /><br /><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Correct Answer" /><br /><a href="#">Remove</a></span></p></td></tr></table>').fadeIn("slow").appendTo('#extender');
i++;
$("a:contains('Remove')").click(function() {
$(this).parent().parent().remove();
});
return false;
});
//fadeout selected item and remove
$("#form-step2.dynamic-input").on('click', 'a', function() {
$(this).parent().fadeOut(300, function() {
$(this).empty();
return false;
});
});
}
這是一個簡單的小按鈕用於創建每個問題:
<a id="add" href="#">Add Question</a>
我需要實現:
一旦按下按鈕,我需要以某種方式收集所有問題元素,並將它們保存到一個字符串中。這是每個問題必須保存的格式:
question1,incorrect-answer1,incorrect-answer2,incorrect-answer3,correct-answer
question1,incorrect-answer1,incorrect-answer2,incorrect-answer3,correct-answer
question2,incorrect-answer1,incorrect-answer2,incorrect-answer3,correct-answer
正如你在上面看到的,總共有3個問題。每個問題都必須用換行符分隔,即'\ n'。順序必須是問題,3個不正確的答案,然後是正確答案;全部用逗號分隔。
當然,我並沒有要求任何人爲我做這件事。我只需要一些指導和支持,因爲我仍然是PHP和jQuery的新手(學習PHP 8周,jQuery 2周)。我的大部分代碼都是由來自Stack Overflow的現有代碼和其他在線資源構建的。
所有幫助是極大的讚賞
換行符'\ N'不是'/ N'。 – Barmar
謝謝。我做了一個編輯來改變它。 – Fizzix