我试图通过隐藏它并放入我自己的控件来设置 ASP.NET FileUpload 控件的样式。我正在用 jQuery 做这个:
$(function () {
$('input[type=file]').each(function () {
var fileUpload = $(this);
var textBox = $('<input type="text">');
textBox
.css('width', fileUpload.width() - 85)
.css('margin-right', 5)
.prop('disabled', fileUpload.prop('disabled'));
var button = $('<input type="button" value="Browse...">')
.prop('disabled', fileUpload.prop('disabled'));
fileUpload.change(function () {
textBox.val(fileUpload.val());
});
button.click(function () {
fileUpload.click();
});
fileUpload.after(button).after(textBox);
fileUpload.hide();
});
});
这基本上工作得很好,除了我需要在 IE (10) 中单击我的提交按钮两次。我无法在 jsFiddle 中重现这一点,但我确实在它发生的地方做了一个精简的 ASP.NET 项目。
在 Firefox 中,我没有这个问题。有人知道我可以从哪里开始看吗?