jQuery mousedown没有处理文件提交按钮

时间:2015-09-23 09:07:47

标签: javascript jquery submit-button

我有一个联系表单(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。

2 个答案:

答案 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)

实际上***工作正常:

click()

这是fiddle