Joomla 용으로 유명한 ChoronoForm 플러그인을 사용하고 있습니다. 동적 필드가 포함 된 양식을 만들었습니다. 자바 스크립트 함수는 여러 항목을 추가하는 데 사용됩니다. 사용자가 "다른 항목 추가"버튼을 클릭하면 추가 "항목"을 삽입 할 수 있도록 항목 필드가 다시 표시됩니다. 이 웹 사이트의 양식과 유사 http://www.unclesmoney.co.uk/home3.php (항목 세부 정보 섹션을 작성하고 "다른 항목 추가"를 클릭하십시오). 양식이 제출되면 정보는 이메일을 통해 전송됩니다. 문제는 마지막으로 삽입 된 항목 만 보내지고 다른 항목은 무시됩니다 (전송되지 않음). 2 개 이상의 항목으로 양식을 채우는 경우 기입 된 마지막 항목의 세부 정보 만 전송됩니다. html 템플릿에 이러한 값을 전달하기 위해 PHP 또는 자바 스크립트를 작성해야한다고 가정합니다.보다 간단한 방법이 있습니까? 어느 쪽이든 나는 이것을 수행하는 방법에 대한 몇 가지 지침으로 할 수 있습니다. 이 포럼에는 위대한 도움이되었던 유사한 스레드가 있지만 html 템플릿을 수정하는 방법은 나와 있지 않습니다. 감사합니다양식에 동적 필드 추가 (Chronoform)
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">Item Type:</label>
<select class="cf_inputbox validate-selection" id="select_19" size="1" title="" name="select_19">
<option value="">Choose Option</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
<option value="Option 3">Option 3</option>
<option value="Option 4">Option 4</option>
<option value="Option 5">Option 5</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Detail</label>
<textarea class="cf_inputbox required" rows="3" id="text_2" title="Please enter Item Detail" cols="30" name="text_2"></textarea>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_fileupload">
<label class="cf_label" style="width: 150px;">File</label>
<input class="cf_fileinput cf_inputbox" title="" size="20" id="file_3" name="file_3" type="file" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">File 2</label>
<input class="cf_inputbox required validate-number" maxlength="150" size="30" title="Must contain a value" id="text_4" name="text_4" type="text" />
</div>
<div class="cfclear"> </div>
</div>
</div>
<span id="writeroot"></span>
<input type="button" value="Add Another Item" onclick="moreItems()" />
.....
Javascript
var counter = 0;
function moreItems() {
counter++;
var newFields = document.getElementById('readRoot').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i=0;i<newField.length;i++) {
var theName = newField[i].name
if (theName)
newField[i].name = theName + counter;
}
var insertHere = document.getElementById('writeroot');
insertHere.parentNode.insertBefore(newFields,insertHere);
}
브렌트, 답장을 보내 주셔서 감사합니다. 당신이 볼 수 있듯이 나는 클라이언트 측 자바 스크립트를 사용하고 있는데, 내가 틀린 경우를 제외하고 서버 측 PHP 내부에서 js 변수를 참조 할 수 없다. 이러한 "추가"변수에 대한 참조를 루프에 넣으려면 어떻게합니까? 내가 갇혀있는 것처럼 나는 한 예가 인정 될 것이다. – Apprentice
자바 스크립트는 추가 양식 필드를 추가하기 만하므로 결과 필드는 모두 $ _POST의 일부로 제출됩니다. 보내지는 모든 것을 반복하기 위해서 당신은 이것을 사용할 수 있습니다 - foreach ($ _ POST as $ k => $ v) $$ k = $ v; –