我有一个联系表单(Drupal Webform),其中包含一个文件上传文件,用于创建包含此标记的表单(在此示例中我删除了名称,大小和ID attr。):
<div class="form-managed-file">
<input type="file" class="form-file">
<input type="submit" value="Upload" class="form-submit ajax-processed">
<input type="hidden" value="0">
</div>
我想在文件上传时自动点击上传按钮。我过去用这样的函数做过这个,但它不适用于这个:
$('.webform-client-form').on('change', 'input.form-file', function() {
$(this).next('input[type="submit"]').mousedown();
});
然而,这些正在以这种形式发挥作用:
$('.webform-client-form').on('change', 'input.form-file', function(){
$(this).next('input[type="submit"]').css("background", "red");
alert($(this).next('input[type="submit"]').val());
});
第一个按钮为红色背景。第二个提醒&#34;上传&#34;。为什么mousedown不起作用?我还使用了click()
trigger("click")
和trigger("mousedown")
,但没有人点击上传按钮。我正在使用jQuery 1.10。
答案 0 :(得分:0)
你只是触发了mousedown。您还需要捕获触发器并相应地执行操作,例如:
$('.webform-client-form').on('mousedown', 'input[type="submit"]', function() {
alert ("mousedown");
});
如果我没错,那么您要做的就是在触发.change
时提交表单。如果是这种情况,您也可以在.change
处理程序中提交表单,例如:
$('.webform-client-form').on('change', 'input.form-file', function() {
$('.webform-client-form').submit();
});
答案 1 :(得分:0)