0
webserviceを呼び出すことによってjavascriptから自動的にファイルをアップロードするアップロードメソッドを作成しました。自動アップロードであるため、ユーザーがアップロードしたファイルを削除できるように削除ボタンを追加します。だから、このプロセスは次のとおりです。JavaScriptからテーブルの適切な行を削除します
- は、Webサービスの応答が成功した二つの文字列変数
- で構成されるオブジェクトです
- (それは自動アップロードです)のonchangeイベントが発生したときに、ファイルがWebサービスを呼び出すことによってアップロードされ、ファイルを選択します私は単一の行を作成し、返されたレスポンスでそれを埋めて、それを既存のテーブルに追加します。
- この行の適切な値をキャッチして、アップロードされたファイルを削除する削除ボタンを各行に追加します。だから私の質問です:私はその行の削除ボタンをクリックするたびに適切な値をキャッチすることができますか?以下は
私のjavascriptのコードです:
以下function UploadFiles() {
if (window.FormData !== undefined) {
var fileUpload = $("#FileUpload1").get(0);
var files = fileUpload.files;
var fileData = new FormData();
fileData.append(files[0].name, files[0]);
fileData.append('username', 'Test');
$.ajax({
url: 'MyWebservice.asmx/UploadImages',
type: "POST",
contentType: false,
processData: false,
data: fileData,
dataType: "text",
success: function (response) {
var xmlDoc = new DOMParser().parseFromString(response, "application/xml");
var objElementSuccess = xmlDoc.getElementsByTagName("Success")[0];
var textElementSuccess = objElementSuccess.childNodes[0];
var objElementUpload = xmlDoc.getElementsByTagName("UploadedURL")[0];
var textElementUpload = objElementUpload.childNodes[0];
var tableBody = document.getElementById("Tab_UploadedFiles");
tableBody.style.display = "inline";
var tr = document.createElement('TR');
var tdSuccess = document.createElement('TD');
var tdUploadedFiles = document.createElement('TD');
var tdButtonDelete = document.createElement('TD');
tdSuccess.appendChild(document.createTextNode(textElementSuccess.nodeValue));
tdUploadedFiles.appendChild(document.createTextNode(textElementUpload.nodeValue));
tdButtonDelete.style.textAlign = "center";
// here I am adding the delete button .. what should I do here?
// tdButtonDelete.innerHTML = '<input value ="Delete File" onclick="DeleteUploadedFile()" type="button" />';
tr.appendChild(tdSuccess);
tr.appendChild(tdUploadedFiles);
tr.appendChild(tdButtonDelete);
tableBody.appendChild(tr);
},
error: function (err) { alert(err.statusText); }
});
} else {
alert("FormData is not supported.");
}
}
は私のテーブルです:
<table id="Tab_UploadedFiles" class="Tab_UploadedFiles">
<tr>
<th>
File Name
</th>
<th>
Status
</th>
<th>
Delete Uploaded File
</th>
</tr>
</table>
そして、どのように私は、この一意の番号をonclickのキャッチすることができますか?私の場合、DeleteUploadedFile()関数でそれをどのように渡すことができますか? –
私の答えをもう一度見て、これを修正する方法の例を編集しました。 –
さらに、jQueryライブラリを使ってどのように人生を楽にしてくれるかを知ることを強くお勧めします。ネイティブJSでこのことをやっているのは、お尻の痛みです(個人的な経験から話す、-P) –