如果用户附加了不接受的文件,我试图清除该组件。我试图在它附加后立即尝试。我在这里看了一些例子,其中一些示例告诉我如何使用重置按钮,重置整个表单(我不想做的事情),或克隆组件(我做的事情)试过但它不起作用)。如果有人可以帮助我,我会很高兴。提前谢谢。
以下是我的例子:
$("#mycomponent").on("change", function()
{
var extension = $(this).val().split(".").pop().toString();
if((extension === "pdf") || (extension === "docx") || (extension === "doc"))
{
alert("OK");
}
else
{
alert("File extension not accepted");
var mycomponent = $("#mycomponent");
mycomponent.replaceWith(mycomponent = mycomponent.clone(true));
}
});
答案 0 :(得分:3)
您可以使用val()清除组件,如下所示:
$("#mycomponent").on("change", function()
{
var extension = $(this).val().split(".").pop().toString();
if((extension === "pdf") || (extension === "docx") || (extension === "doc"))
{
alert("OK");
}
else
{
alert("File extension not accepted");
var mycomponent = $("#mycomponent");
mycomponent.val("");
}
});
答案 1 :(得分:2)
<强> Working fiddle 强>
使用$(this).wrap('<form>').closest('form').get(0).reset();
$(this).unwrap();
函数,如下所示:
$("#mycomponent").on("change", function(){
var extension = $(this).val().split(".").pop().toString();
if((extension === "pdf") || (extension === "docx") || (extension === "doc"))
{
console.log("OK");
}
else
{
console.log("File extension not accepted");
$(this).wrap('<form>').closest('form').get(0).reset();
$(this).unwrap();
}
});
希望这有帮助。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="mycomponent" />
&#13;
pd.offsets.MonthBegin()
&#13;