Wenn Sie diesen Code sorgfältig betrachten, hängt er eine Dateieingabe für jede angehängte Zeile an. Jetzt gibt es bei jeder Dateieingabe eine "Clear File" -Schaltfläche, wo alles entfernt werden soll, was in der Dateieingabe ist. Das Problem ist, dass nichts in der Dateieingabe gelöscht wird. Warum ist das und wie kann es behoben werden?So löschen Sie eine Dateieingabe
JavaScript:
var sourceImageForm;
function insertQuestion(form) {
var $tbody = $('#qandatbl > tbody');
var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
var $image = $("<td class='image'></td>");
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startImageUpload(this);' class='imageuploadform' >" +
"<p class='imagef1_upload_process' align='center'>Loading...<br/><img src='Images/loader.gif' /><br/></p><p class='imagef1_upload_form' align='center'><br/><label>" +
"Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><label class='imagelbl'>" +
"(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label>" +
"<input type='submit' name='submitBtn' class='sbtn' value='Upload' /></label>" +
"<label><input type='button' name='imageClear' class='imageClear' value='Clear File'/></label>" +
"</p> <iframe class='upload_target' name='upload_target' src='#' style='wclassth:0;height:0;border:0px;solclass #fff;'></iframe></form>");
$image.append($fileImage);
$tr.append($image);
$tbody.append($tr);
$(".imageClear").click(function(event){
event.preventDefault();
$(this).parent().find(".fileImage").replaceWith("<input type='file' class='fileImage' name='fileImage' />");
});
}
function startImageUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceImageForm = imageuploadform;
return true;
}
function stopImageUpload(success){
var result = '';
if (success == 1) {
result = '<span class="msg">The file was uploaded successfully!<\/span><br/><br/>';
} else {
result = '<span class="emsg">There was an error during file upload!<\/span><br/><br/>';
}
$(sourceImageForm).find('.imagef1_upload_process').css('visibility','hidden');
$(sourceImageForm).find('.imagef1_upload_form').html(result + '<label>Image File: <input name="fileImage" type="file"/></label><br/><label>(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label><input type="submit" name="submitBtn" class="sbtn" value="Upload" /></label><label><input type="button" name="imageClear" class="imageClear" value="Clear File"/></label>');
$(sourceImageForm).find('.imagef1_upload_form').css('visibility','visible');
return true;
}
Clear File "Knopf„es eine" wo es entfernt, was in der Datei eingegeben wird Das Problem ist, dass nichts in der Datei iput gelöscht wird. " Ich verstehe den Unterschied zwischen diesen Aussagen nicht. Entfernt es oder nicht Dinge aus der Dateieingabe? –
möglich Duplikat von [Clearing mit jQuery] (http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery) – epascarello
es entfernt nichts In der Dateieingabe ist das das Problem – user1304328