すべてのブラウザーで同じように見えるように、デザインのアップロード ファイルの入力をカスタマイズしました。次に、[別のファイルを追加] リンクをクリックして、10 個のアップロード ファイル入力を 1 つずつ追加します。これらの 10 個のアップロード ファイルは、カスタマイズされたアップロード ファイル入力とデザインが同じに見えるはずです。
また、ユーザーがクリアをクリックすると、アップロードファイルの入力にテキストがあればクリアになるように、明確なリンクが必要です。
また、10 個のアップロード ファイルをクリアできますか。
アップロードファイルを同時に追加およびクリアできるように。
これについて何か助けを得ることができますか?
これが私のコードです:
<script language="JavaScript">
function validate_fileext() {
var check = true;
var error_msg = "Only PDF, JPG, JPEG, HTML, HTM and TIF accepted, please try again.";
for (var j = 0; j <=upload_number; j++) {
if (document.getElementById("attachment"+j) != null) {
var file = document.getElementById("attachment" + j).value.toLowerCase();
if (file != "" && !(file.lastIndexOf(".pdf") > 0 || file.lastIndexOf(".jpg") > 0 || file.lastIndexOf(".jpeg") > 0 ||
file.lastIndexOf(".htm") > 0 || file.lastIndexOf(".html") > 0 || file.lastIndexOf(".tif") > 0)) {
check = false;
document.getElementById("static_error_message").innerHTML = 'Error : Only PDF, JPG, JPEG, HTML, HTM and TIF accepted as attachment(s).';
document.getElementById("attachment" + j).focus();
break;
}
}
}
return check;
}
function togglePOAttachment(){
if (document.forms["frm_payment"].opt_payment[0].checked){
document.getElementById("attachment0").disabled = false;
document.getElementById("link_clear").setAttribute("href","javascript:resetFileContent();")
document.getElementById("link_clear").disabled = false;
document.getElementById('moreUploadsLink').style.visibility = 'visible';
}else if (document.forms["frm_payment"].opt_payment[1].checked) {
for (var j = 1; j < upload_number; j++) {
reSetPOAttachments("f"+j);
}
upload_number = 1;
resetFileContent();
document.getElementById('moreUploadsLink').style.visibility = 'hidden';
document.getElementById("attachment0").disabled = true;
document.getElementById("link_clear").disabled = true;
document.getElementById("link_clear").removeAttribute("href");
}
}
function resetFileContent(){
document.getElementById("static_attachment").innerHTML = '<input type="file" name="attachment0" id="attachment0" onchange="document.getElementById(\'moreUploadsLink\').style.display = \'block\';" /><a id="link_clear" href="javascript:resetFileContent();">Clear</a> ';
}
function reSetPOAttachments(i){
var elm = document.getElementById(i);
document.getElementById("moreUploads").removeChild(elm);
}
</script>
クリアリンクをクリックしてアップロードファイル入力からデフォルトテキストをクリアすると、入力がデフォルトを表示するカスタマイズされた入力に置き換えられます。
これは、上記のスクリプトにある関数です。
function resetFileContent(){
document.getElementById("static_attachment").innerHTML = '<input type="file" name="attachment0" id="attachment0" onchange="document.getElementById(\'moreUploadsLink\').style.display = \'block\';" /><a id="link_clear" href="javascript:resetFileContent();">Clear</a> ';
}
このアップロード ファイル入力のデザインをカスタマイズしたいと考えています。そしてリピーターの方へ。
JavaScript から生成された入力型ファイルのスタイルを変更できますか? 以下のように: -
<script language="JavaScript">
var upload_number = 1;
function addFileInput()
{
var d = document.createElement("div");
var l = document.createElement("a");
var file = document.createElement("input");
file.setAttribute("type", "file");
file.setAttribute("name", "attachment"+upload_number);
file.setAttribute("id", "attachment"+upload_number);
l.setAttribute("href", "javascript:removeFileInput('f"+upload_number+"');");
l.appendChild(document.createTextNode("Clear"));
d.setAttribute("id", "f"+upload_number);
d.appendChild(file);
d.appendChild(l);
document.getElementById("moreUploads").appendChild(d);
document.getElementById("attachments").value = upload_number;
upload_number++;
}
function removeFileInput(i)
{
var elm = document.getElementById(i);
document.getElementById("moreUploads").removeChild(elm);
}
</script>
ありがとう、