2009-12-21 4 views
0

한 페이지함수가있는 버튼을 만든 다음 jQuery와 함께 제출하는 방법은 무엇입니까?

$("#myDiv").html("<button id='fileUpload'>Upload</button>"); 

난 후, 버튼에 Ajax Upload 인스턴스를 만드는 오전에 단추를 추가하려면 다음 코드를 사용하고 있습니다.

var button = $('#fileUpload'), interval; 
new AjaxUpload(button, { 
    action: '/upload.ashx', 
    name: 'myfile', 
    onSubmit: function(file, ext) { 
     button.text('Uploading'); 
     this.disable(); 

     // Uploding -> Uploading. -> Uploading... 
     interval = window.setInterval(function() { 
      var text = button.text(); 
      if (text.length < 13) { 
       button.text(text + '.'); 
      } else { 
       button.text('Uploading'); 
      } 
     }, 200); 
    }, 
    onComplete: function(file, response) { 
     button.text('Upload'); 
     window.clearInterval(interval);     
    } 
}); 

내가 원하는 것은 페이지에 버튼을 추가 한 다음 자동으로 클릭하는 것입니다. 이 일을 어떻게 하죠?

업데이트

코드는 지금 읽

$("#myDiv").html("<button id='fileUpload'>Upload</button>"); 
var button = $('#fileUpload'), interval; 
new AjaxUpload(button, { 
    action: '/upload.ashx', 
    name: 'myfile', 
    onSubmit: function(file, ext) { 
     button.text('Uploading'); 
     this.disable(); 

     // Uploding -> Uploading. -> Uploading... 
     interval = window.setInterval(function() { 
      var text = button.text(); 
      if (text.length < 13) { 
       button.text(text + '.'); 
      } else { 
       button.text('Uploading'); 
      } 
     }, 200); 
    }, 
    onComplete: function(file, response) { 
     button.text('Upload'); 
     window.clearInterval(interval);     
    } 
}); 
$('#fileUpload').click(); 

.click 이벤트가 발생하지 않는 것 같습니다.

$('input').click(); 

이유에 대한 허용 대답을 확인하시기 바랍니다 수 ...

** 업데이트 **

$('#fileUpload').click(); 

요구를 코드에 도달하지만 아무것도하지 않습니다.

+0

무엇이 오류입니까? 시작시이 코드를 실행하고 있습니까? dom이로드되는 동안 기다려야하는 경우 –

답변

3

는 자동 클릭 시뮬레이션 페이지에 버튼 를 추가합니다. 이걸 어떻게하면 에 갈 수 있습니까?

짧은 대답은 당신이하지 않는다는 것입니다.

긴 대답 :

먼저 당신이 AJAX 업로드가 어떻게 작동하는지 이해할 필요가있다.

플러그인은 사용자가 제공 한 버튼의 상단에 눈에 보이지 않는 파일 입력을 작성하므로 사용자가 버튼을 클릭하면 일반 파일 선택 창이 표시됩니다. 사용자가 파일을 선택하면 플러그인은 파일 입력 이 포함 된 양식을 iframe에 전송합니다. 따라서 실제 아약스 은 아니지만 같은 사용자 을 경험하게됩니다.두 가지가 여기에있다

있습니다

  1. 파일 업로드는 입력이

  2. 일반적으로, < 입력 유형 = "파일"> 요소/클릭 할 수 없습니다 최신 브라우저에서 프로그래밍 방식으로 설정할 실제 파일이 아닙니다 보안상의 이유로.
+0

페이지에 추가 된 입력에 .click을 실행해야합니다. – Linda

1

간단히

$('#fileUpload').click(); 
+0

.click()이 실행되지 않습니다. 코드에 도달했지만 아무것도 표시되지 않습니다. $ ('# fileUpload')를 실행 중입니다. click(); 직접 window.clearInterval (간격); } }); – Linda

1

를 이동하여이 같은 버튼을 클릭 처리기를 호출 할 수

$('#fileUpload').click(); 

을 이미 페이지에 추가 처리했다.

+0

.click()이 실행되지 않습니다. 코드에 도달했지만 아무것도 표시되지 않습니다. $ ('# fileUpload')를 실행 중입니다. click(); 직접 window.clearInterval (간격); }})); – Linda

-1
$('body').append('<a href="somepage.ashx" id="send">Go</a>').find('#send').click(); 
+1

이것은 틀렸습니다. 본문의 클릭을 시뮬레이트합니다. – Gausie

2

버튼에는 실제로 click 처리기가 없으므로 아무런 변화가 없습니다. 내가 원하는 무엇

관련 문제