업로드 제어 입력의 가치를 JS를 사용 하는 방법 (유형 = "파일")

출처: 인터넷
작성자: 사용자
키워드: 웹 페이지 제작 Ajax 자바 스크립트

var obj = 웹 페이지 < 입력 유형 = "파일" / >
obj.outerhtml = Obj.outerhtml.replace (/(value=). + "/," $ ");

더 많은 기존의 방식

값 필요는 < 입력 유형 = "파일" >, 업로드 컨트롤의 값만 < 입력 유형 "파일" = > 웹 효과 의해 수정할 수 없습니다.

Google는 해결 방법을 발견:


폼의 리셋 기능을 지웁니다만 업로드 컨트롤에 값을 삽입 하지만 형태로 다른 값이 다시 설정 됩니다.

빈 폼의 리셋 사용할 수, 있으므로 방법이 있다: 임시 형태, 그리고 그것으로 이동, 다시, 다음 원래 위치로 다시 이동 업로드 제어를 필요를 만들고 마지막으로 만든된 임시 양식 삭제. 웹 페이지에 특수 효과 코드:

웹 페이지 특수 효과 코드


var 업로드 {
=

클리어: 함수 (ID) {

var
= 최대 (typeof id = "문자열")? document.getElementById (ID): ID;


경우 (typeof를! "개체" =) null; 반환


var tt = document.createelement ("범위");


tt.id = "__tt__";


Up.parentnode.insertbefore (tt, 최대);


var tf = document.createelement ("form");


Tf.appendchild (최대);


document.getElementsByTagName ("몸") [0].appendchild (TF);


Tf.reset ();


Tt.parentnode.insertbefore (최대, TT);


tt.parentnode.removechild (TT);


TT = NULL;


Tf.parentnode.removechild (TF);


},   


  


clearform:function () {


var 입력, frm;


경우 (arguments.length = 0)


{   


입력 = document.getElementsByTagName ("입력");


}else{


frm = (typeof 인수 [0] = "문자열")? document.getElementById (Arguments[0]): 인수 [0];


경우 (typeof frm! = "개체") null; 반환


입력 = Frm.getelementsbytagname ("입력");


}   


  


var fs =;

대 한
(var i = 0 나 &lt; inputs.length; i + +)


{   


경우 ([i] 입력.type = = "파일") fs[fs.length] = 입력 [난];


}   


  


var tf = document.createelement ("form");

대 한
(var i = 0 나 &lt; fs.length; i + +)


{   


var tt = document.createelement ("범위");


tt.id = "__tt__" + i;


[I] fs.parentnode.insertbefore (TT, Fs[i]);


Tf.appendchild (Fs[i]);


}   


document.getElementsByTagName ("몸") [0].appendchild (TF);


Tf.reset ();

대 한
(var i = 0 나 &lt; fs.length; i + +)


{   


var tt = document.getElementById ("__tt__" + i);


Tt.parentnode.insertbefore (FS[I],TT);


tt.parentnode.removechild (TT);


}   


Tf.parentnode.removechild (TF);


}   


}

var 업로드 = {지우기: 함수 (id) {var = 최대 (typeof id = "문자열")? document.getElementById (ID): id; F (typeof를! "개체" =) null 반환; var tt = document.createelement ("범위"); tt.id = "__tt__"; Up.par Entnode.insertbefore (tt, 최대); var tf = document.createelement ("form"); Tf.appendchild (최대); document.getElementsByTagName ("몸") [0].appendchild (TF); tf.reset (); Tt.parentnode.insertbefore (최대, tt); tt.parentnode.removechild (TT); TT = null; tf.parentnode.removechild (TF);}, Clearform:function () {var 입력, frm; 경우 (arguments.length = 0) {입력 = Document.getelements Bytagname ("입력");} else {frm = (typeof 인수 [0] = "문자열")? document.getElementById (Arguments[0)): 인수 [0]; 경우 (typeof frm! = "개체") null 반환; 입력 = Frm.getelementsbytagname ("입력");} & NB sp; var fs =;에 대 한 (Var i = 0; 난 < inputs.length; i + +) {경우 ([i] 입력.type = = "파일") fs[fs.length] = 입력 [난];} var tf = document.create 요소 ("form");에 대 한 (var i = 0 나 < fs.length; i + +) {var tt = document.createelement ("범위"); t T.id = "__tt__" + i; Fs [i].parentnode.insertbefore (TT, Fs[i]), tf.appendchild (fs[i));} document.getElementsByTagName ("몸") [0].appendchild (TF); tf.reset ();에 대 한 (var i = 0; 난 < fs.length; i + +) {var tt = document.getElementById ("__tt__" + i); Tt.parentnode.insertbefore (FS[I],TT); Tt.parentnode.removechild (TT);} tf.parentnode.removechild (TF);}}

이 메서드는 예를 사용합니다.


HTML 코드
<! doctype HTML 공개 "-//W3C//DTD XHTML 1.0 전환 / / en" http://www.w3.org/tr/xhtml1/dtd/ Xhtml1 transitional.dtd ">
< html xmlns =" http://www.w3.org/1999/xhtml "> < 머리 >

< 제목 >의 테스트 < / 타이틀 >
< 스크립트 유형 = "텍스트/웹 효과" >
<!-위의 JS 코드
-< / 스크립트 > < / 헤드 >

< 몸 >
< 양식 이름 "Testform" = 방법 = "게시" >
< 입력 유형 = "파일" 이름 = "testfile" / >
< 입력 유형 = "버튼" 값 = "명확한" onclick = "upload.clear ('testfile')" / >< br / >
< 입력 유형 = "버튼" 값 = "ClearAll" onclick = "Upload.clearform ()" / >< br / >
< 입력 유형 = " 제출 "값 =" 제출 "/ >< 입력 유형 =" 재설정 "값 =" 재설정 "/ > &NBSP; &NBSP; & NBsp;
< / 양식 >
< / 바디 > & nbsp

< / html >

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.