2013-08-23 2 views
1

내 탐색 막대에있는 링크에서 양식을 제출하려고합니다.jQuery를 사용하여 양식 외부 링크에서 양식 제출

저는 javascript.jQuery를 처음 사용하고 이것이 실행되지 않는 이유가 확실하지 않습니다.

링크의 href에 다른 것을 넣어야한다고 생각하지만 거기에 무엇이 있는지 잘 모르겠습니다. 나는 피드백과 전문성에 감사한다.

LINK

<li><a href="#" id="add-product-save-link"><i class="icon-plus"></i> Save</a></li> 

FORM

<form class="form" action="" method="post" id="add-product-form"> 

JAVASCRIPT 내가 함께 jQuery를 연결 한 (외부 별도의 파일이 코드 내가 템플릿에 연결 한)

$(document).ready(function() { 
    $('#add-product-save-link').click(function(e) { 
     e.preventDefault(); 
     $('#add-product-form').submit(); 
    }); 
}); 

:

+0

는 그것은 $ (문서를 나타납니다 정확히 무엇 – SmokeyPHP

+0

을 작동하지? 당신이 콘솔에서 오류를 받고 있는가? 코드에서'alert' 또는'console.log'을 퍼팅 시도? 아무것도 디버깅 되세요) .ready가 실행 중이지만 나는 코드 내부에서 $ ('# add-product-save-link')를 실행하지 않는다. (function (e) { – bbrooke

답변

12

을 순수 자바 스크립트 :. (http://jsfiddle.net/4enf7/)

<a href="javascript:document.getElementById('add-product-form').submit();">Send form</a> 
+0

큰 활약! 왜 내가 다른 방향으로 실행할 수 없는지 확신 할 수 없다. 의견을 보내 주셔서 감사합니다. – bbrooke

7

Li NK :

<a href="#" id="add-product-save-link" class="icon-plus" ><i>Save</i></a> 

jQuery를 : 앵커 태그는 아무데도되지 않기 때문에

$(document).ready(function() { 
    $('#add-product-save-link').click(function() { 
     $('#add-product-form').submit(); 
    }); 
}); 

당신은 e.preventDefault을 (필요가 없습니다), (href를가 #입니다).

<form> 태그의 작업 속성이 비어있어 양식이이 문서에 제출된다는 의미입니다. 이 대답은 jQuery를 사용하기 때문에 같은 곳 jQuery 라이브러리를 참조 할 수 있도록,

<?php 
    if (isset($_POST)) { 
     //do your form processing here 
    }else{ 
     //your normal page is here. 
    } 
?> 

마지막 : 그건 당신이 무엇을 원하는 경우에, 당신은 문서의 상단에 그것을 위해 논리를 넣을 수 있습니다 <head> 태그 :

<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    </head> 
2

당신은하지 (ID 사용) 기울임 꼴에서 "A"에 클릭합니다. 당신이 그 일에 HTML을 변경하지 않습니다 가정 할 것은 밖으로이를 사용해야합니다

$(document).ready(function() { 
    $('#add-product-save-link').parent().click(function(e) { 
     $('#add-product-form').submit(); 
     return false; 
    }); 
}); 
+0

나는 jQuery를 (자바 스크립트가 아니라) 의미한다고 생각한다. – gibberish

+0

귀하의 올바른 jQuery 의미. "A"의 ID를 링크로 변경했지만 여전히 코드를 실행할 수 없습니다. 다른 생각? 나는 당신의 의견을 appreaciate. – bbrooke

0

$는 ("# 버튼"() 함수를 클릭합니다 (예를) {

 $.post('url.php', $("#form").serialize(), function(data){ 
+1

1/귀하의 코드 조각에 적어도 일부 단어를 추가하여 답변의 미래 독자와 독자가 명확하게 이해할 수 있도록하십시오. 2/나는이 대답이 정말로 일부 코드가 누락 된 것 같아 코드가 파스 오류로 끝날 것이라고 생각한다. –