[英]How do I create a text box with a submit button that performs a callback on click to a javascript function using js or jQuery?
[英]How do I create a button with a function, then submit it, with jQuery?
我正在使用以下代码在页面上添加按钮
$("#myDiv").html("<button id='fileUpload'>Upload</button>");
然后,我在按钮上创建一个Ajax Upload实例。
var button = $('#fileUpload'), interval;
new AjaxUpload(button, {
action: '/upload.ashx',
name: 'myfile',
onSubmit: function(file, ext) {
button.text('Uploading');
this.disable();
// Uploding -> Uploading. -> Uploading...
interval = window.setInterval(function() {
var text = button.text();
if (text.length < 13) {
button.text(text + '.');
} else {
button.text('Uploading');
}
}, 200);
},
onComplete: function(file, response) {
button.text('Upload');
window.clearInterval(interval);
}
});
我要做的是将按钮添加到页面,然后模拟自动单击它。 我将如何去做呢?
更新资料
该代码现在显示为:
$("#myDiv").html("<button id='fileUpload'>Upload</button>");
var button = $('#fileUpload'), interval;
new AjaxUpload(button, {
action: '/upload.ashx',
name: 'myfile',
onSubmit: function(file, ext) {
button.text('Uploading');
this.disable();
// Uploding -> Uploading. -> Uploading...
interval = window.setInterval(function() {
var text = button.text();
if (text.length < 13) {
button.text(text + '.');
} else {
button.text('Uploading');
}
}, 200);
},
onComplete: function(file, response) {
button.text('Upload');
window.clearInterval(interval);
}
});
$('#fileUpload').click();
.click事件似乎没有触发。 它是在代码中达到的,但是什么也不做...
**更新**
$('#fileUpload').click();
需要是
$('input').click();
请检查接受的答案以了解原因。
我要做的是将按钮添加到页面,然后模拟自动单击它。 我将如何去做呢?
简短的答案是您不会。
长答案:
首先,您需要了解AJAX上传的工作原理。
插件会在您提供的按钮上方创建不可见的文件输入,因此,当用户单击您的按钮时,将显示普通文件选择窗口。 用户选择文件后,插件会提交包含文件输入到iframe的表单。 因此,这不是真正的ajax上传,但会带来相同的用户体验。
这里有两件事:
您实际上在按钮上没有click
处理程序,因此什么也没有发生。
只需走
$('#fileUpload').click();
您可以像这样在按钮上调用点击处理程序:
$('#fileUpload').click();
您已经处理过将其添加到页面中。
$('body').append('<a href="somepage.ashx" id="send">Go</a>').find('#send').click();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.