2014-06-05 1 views
0

나는 거의 내 웹 사이트를 마쳤지 만 나의 마지막 문제는 제출 단추 'Follow'를 누른 후 Follow-Button에 Loading.gif를 포함하고자하는 것입니다. 이를 위해 지연 후 양식 데이터를 제출해야합니다. submit.gif에 loading.gif를 보여주기 위해, 지연을 위해 도움이 필요하지 않습니다.submit-button을 눌렀을 때 지연 후 양식 데이터를 제출 하시겠습니까?

다른 코드를 시도했지만 작동하지 않았습니다.

내 제출 버튼과 폼 태그 :

그리고 여기에 작업 일부러 코드 샘플 : 여기에 모든 코드입니다

function formdelay(followform) { 
     $(function() { 
     setTimeout(function() { $('#followForm').submit(); }, 2000); 
     }); 
    } 

나는 너희들이 도와 수 있기를 바랍니다 나, 고마워!

$("#followForm input").click(function(e) { 
    e.preventDefault(); 
    setTimeout(function() { $("#followForm").submit(); }, 2000); 
}); 

의 핵심은 e.preventDefault()입니다 : 당신이해야 할 일은

+0

오류가 있습니까? 콘솔에 체크인하십시오 –

+0

오류가 발생하지 않지만 지연을하지 않고 제출 버튼을 누른 후 보냅니다. – user3455912

답변

0

이 같은 것입니다. 이 메소드는 제출 단추 (양식에 제출)를 클릭하는 기본 동작을 중지합니다. 그런 다음 수행해야 할 작업을 모두 수행 한 다음 수동으로 양식을 제출하면 $("#followForm").submit();이 수행합니다.

데모 : http://jsfiddle.net/DMcCr/2/

+0

지연이없고, 제출 버튼을 누른 후 보냅니다. – user3455912

+0

http : //jsfiddle.net/DMcCr/2/ – Jon

+0

정말 왜 작동하지 않는지 모르겠다. – user3455912

0

이 흥미로운 문제입니다. 내가 가진 것을 첫 번째 생각은 이런 식으로 뭔가를했다 :

http://jsfiddle.net/V9UpA/

$('#followForm').on('submit', function (event, force) { 
    if (!force) { 
     var $this = $(this); 
     event.preventDefault(); 
     setTimeout(function() { 
      $this.trigger('submit', true); 
     }, 2000); 
    } 
}); 

는 기본적으로, 당신은 시간 제한 다음, 이벤트를 제출 초기에 event.preventDefault()을 사용하고 싶습니다. 시간 초과가 완료되면 이벤트를 다시 트리거하지만 force 인수를 전달하여 이번에 제출을 허용하려고합니다.