【发布时间】:2011-01-30 10:41:43
【问题描述】:
我正在为 Joomla 使用流行的 ChoronoForm 插件。我创建了一个包含动态字段的表单。一个javascript函数用于添加多个“项目”。用户单击“添加另一个项目”按钮,然后重新显示项目字段以供他们插入其他“项目”。类似于本网站http://www.unclesmoney.co.uk/home3.php 上的表格(填写项目详细信息部分并单击“添加另一个项目”)。提交表格后,信息将通过电子邮件发送。问题是,仅发送最后插入的项目,而忽略其他项目(未发送),例如如果我用 2 个或更多项目填写表格,则只会发送他填写的最后一个项目的详细信息。假设我必须编写一些 php 或 javascript 来将这些值传递给 html 模板,还是有更简单的方法?无论哪种方式,我都可以提供一些关于如何实现这一目标的指示。这个论坛上有一个类似的帖子,它很有帮助,但它没有显示如何修改 html 模板。谢谢
<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 javascript joomla