我有一个php函数,它有一个带有按钮的表单的echos代码。当单击该按钮时,它将附加一个文件字段和另一个按钮,如果单击该按钮将重复上述操作。但是当点击添加的按钮时没有任何反应。
我认为它与绑定按钮有关。
以下是代码:
$formtoreturn = '
<div class="form_holder">
<form action="'.site_url().'xxxxx" method="post" enctype="multipart/form-data" >
<div id="fields_holder">
<span class="form_holder-label" id="fileC">Select image or images</span>
<div class="fields" id="field1">
<input type="file" name="fileID-input[]" id="fileID-input" class="fileC-input">
<a rel="add" id="add_file1" class="add_file" href="javascript:;"><img src="wp-content/plugins/wl_extendor_wishlist/images/add-icon.png"></a>
</div>
</div>
<div class="clear"></div>
<input type="hidden" value="'.$u_id.'" name="user_id" id="user_id">
<input type="submit" name="submittestimonial" value="Submit Testimonial">
</form>
<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
</div>
<script>
var filecount = 1;
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j(\'#fields_holder\').on(\'click\', \'.add_file\', function() {
var toappend = \'<div class="fields" id="field1"><input type="file" name="fileID-input[]" id="fileID-input" class="fileC-input"><a rel="add" id="add_file1" class="add_file" href="javascript:;"><img src="wp-content/plugins/wl_extendor_wishlist/images/add-icon.png"></a></div>\';
if($j(this).attr("rel") == "add"){
$j(this).attr("rel", "ded");
$j("#fields_holder").append(toappend);
filecount++;
}
});
});
</script>
';
echo $formtoreturn;
希望代码和我的问题清楚。
先谢谢。
答案 0 :(得分:0)
我建议你改变你的JavaScript代码
$j('#fields_holder').on('click', '.add_file', function() {
// ...
});
到
$j(document).on('click', '#fields_holder .add_file', function() {
// ...
});
然后该事件将在document
的点击处理程序中冒泡并处理。
<强>更新强>
虽然我已经制作了test,但它在两种变体中都适用于我。