2012-01-10 3 views
0

JavaScript/jQuery에 정통하지는 않지만 사용자가 설문에 투표하고 페이지를 새로 고치지 않고도 결과를 표시 할 수 있도록 설문 스크립트를 작성했습니다. 하여 페이지에 입력 요소의 ID와 ID를 기반으로 그 다음 쿼리가 query.php 보낼 것을 얻을 것입력 값을 jQuery 변수로 사용하는 방법은 무엇입니까?

$("#poll_yes").click(function(){ 
        $("#poll_options").html(ajax_load); 
        $.post( 
         "query.php?module=vote", 
         {answer: "yes", pid: "<? display($_GET['username'], poll_id); ?>", to: "<?= $_GET['username'] ?>"}, 
         function(responseText){ 
          $("#poll_options").html(responseText); 
         }, 
         "html" 
        ); 
       }); 
$("#poll_no").click(function(){ 
       $("#poll_options").html(ajax_load); 
       $.post(
        "query.php?module=vote", 
        {answer: "no", pid: "<? display($_GET['username'], poll_id); ?>", to: "<?= $_GET['username'] ?>"}, 
        function(responseText){ 
         $("#poll_options").html(responseText); 
        }, 
        "html" 
       ); 
      }); 

이 : 이것은 내가 생각 해낸 한 jQuery 코드입니다. query.php는 응답을 다시 보내고 그 응답은 페이지에 표시됩니다.

이 스크립트는 정상적으로 작동하지만 다른 문제가 있습니다. 한 페이지에 여러 설문 조사가 필요합니다. PHP를 사용하여 SQL 데이터베이스에서 투표를 생성하고 "answer : no", "answer : yes", "pid : $ id", "to : $ username"값을 가져올 수 있는지 궁금합니다. , 등. 필드에서. 이것이 가능하다면 각 설문 조사마다 여러 페이지가 필요할 것입니다. 또는 하나의 양식을 여러 개의 입력으로 충분합니까?

+0

테스트 할 수있다 ...이 웹에 대한 예제를 많이하고 정말 잘 JQuery와에 정통한 얻을 매우 쉽습니다 . – trgraglia

답변

1

JQuery와의 기능을 .val 사용하여 쉽게 양식 fileds을 형성 얻을 수 = "숨겨진". 그런 다음 yes 또는 no 버튼 (ID로)에서 클릭을 사용하는 대신 모든 양식 제출 이벤트에 콜백을 첨부합니다. 이렇게하면 두 함수를 단일 콜백으로 축소 할 수 있습니다.

<script> 
$("form.Poll > input[type='button']").click(function(e) { 
    e.preventDefault(); 
    var form= $(this).closest("form"); 
    alert("QuestionId:"+$("input[name='QuestionId']", form).val()+" clicked on:"+$(this).val()); 
}); 
</script> 
<form method='POST' action='update.php' class='Poll'> 
    <input type='hidden' name='QuestionId' value='1'/> 
    Do you like jQuery? 
    <input type='button' name='Answer' value='Yes'/> 
    <input type='button' name='Answer' value='No'/> 
</form> 
<form method='POST' action='update.php' class='Poll'> 
    <input type='hidden' name='QuestionId' value='2'/> 
    Do you like AJAX? 
    <input type='button' name='Answer' value='Yes'/> 
    <input type='button' name='Answer' value='No'/> 
</form> 
<form method='POST' action='login.php'> 
    This form will fire like a normal form if you click on submit but it will not pass though the submit script defined above 
    <input type='submit' name='Answer' value='Login'/> 
</form> 

이이 문서를 읽고 당신에게 많은 도움이 될 것입니다 http://jsfiddle.net/te9YL/

+0

모든 양식에 콜백을 첨부하여 어떤 의미인지 확신 할 수 없습니다. 샘플 코드를 제공 할 수 있습니까? – Xecure

1

예는 값) (당신은 각각의 설문 조사에 대한 양식을 가지고 있고, 유형 입력으로 PID를 포함 할 수

$("#yourid").val(); 
관련 문제