2010-01-16 2 views
0

양식을 제출할 때 iframe의 src를 변경하려고합니다.jQuery - iframe을 변경할 때 두 번째 클릭시에만 발생합니다.

제출 버튼을 두 번 누르지 않으면 src가 변경되지 않습니다. 그러나 제출 버튼의 '입력'입력을 '텍스트'로 변경하면 첫 번째 클릭에서 작동하지만 분명히 양식을 제출하지는 않습니다.

<script> 

$(document).ready(function() { 
    $("#form1").submit(function() { 
      $('#upload_frame').attr('src','upload-test.php'); 
    }); 
}); 

</script> 

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
    <input id="file" type="file" name="file" /> 
    <input name="Submit" id="submit" type="submit" value="Submit" /> 
<br /> 
    <iframe id="upload_frame" name="upload_frame"> </iframe> 
</form> 

답변

0

당신은 button에 유형을 변경하고이 작업을 수행 할 수 있습니다 ...

$(document).ready(function() { 
    $("#submit").click(function() { 
     $('#upload_frame').attr('src','upload-test.php'); 
     $("#form1").submit(); 
    }); 
}); 
+0

닉 - 좋은 생각처럼 들리지만, 형태는이 코드를 전혀 제출하지 않습니다 . 정상적으로 페이지를 새로 고침하여 양식을 제출하려고합니다. 신속한 답변을 보내 주셔서 감사 드리며 더 이상 아이디어가 있는지 알려 주시기 바랍니다. – johnboy

+0

양식을 제출하고 전체 페이지 새로 고침을 수행하면 iframe에 jQuery에서 수행 한 작업이 손실됩니다. 어쩌면 내가 뭘하고 있는지 오해하고있는 것일까 요? –

+0

다음은 내가 작업하고있는 작업입니다. http://www.johnboy.com/php-upload-progress-bar/ 유일한 문제는 페이지가로드 될 때 jQuery가 자동으로 파일 상태/진행 상태를 가져옵니다. 양식을 제출할 때만 iframe을 호출하고 싶습니다. 양식이 실제로 제출되었을 때만 진행 상황을 업데이트하기위한 호출을 시작합니다. 형태 http://www.johnboy.com/php-upload-progress-bar/upload.phps 은 iframe http://www.johnboy.com/php-upload-progress-bar/upload_frame.phps – johnboy

0

왜 양식의 대상 속성을 사용하지 않는? 그것을해야

<form ... target="upload_frame"> 

..

그리고 브라우저의 표준 및 지원 기능을 jQuery를에 의지 할 필요가 없습니다 것입니다 ..

1

내가 가지고 있던 문제를 알아 냈어. setTimeout 함수로 해결했습니다.

//show iframe on form submit 
     $("#form1").submit(function(){ 

      if (show_bar === 1) { 
       $('#upload_frame').show(); 
       function set() { 
$('#upload_frame').attr('src','upload_frame.php?up_id=<?php echo $up_id; ?>'); 
       } 
       setTimeout(set); 
      } 
     }); 
    // 

있는 나는이 양식을 사용하고이 프로젝트는 여기에서 찾을 수 있습니다 :

http://www.johnboy.com/php-upload-progress-bar

관련 문제