2016-08-03 4 views
-1
내가하는 2 개 입력 아래 같은 형태 데

와 PHP는 서로 둘 명을 제출을 구별하는 방법 :

<input class="view" type="submit" name="viewonly" value="View"> 
<input class="submit" type="submit" name="vote" value="Vote"> 

을 나는 이것을 달성하고자 :

if(hit on input with name 'viewonly') { 
echo 'you choose viewonly'; 
} 
elseif(hit on input with name 'vote') { 
echo 'you choose vote'; 
} 

어떻게 내가 그랬어?

는 업데이트 :는 내 양식 :

<form method="post" id="quickpoll"> 
......... 
<input class="view" type="submit" name="quickpollsubmit" value="View"> 
<input class="quickpollsubmit" type="submit" name="quickpollsubmit" value="Vote"> 
    </form> 

아약스 호출 :

$(document).on('submit', '#quickpoll', function() 
{ 
var data = $(this).serialize(); 
$.ajax({ 

    type : 'POST', 
    url : 'quickpoll_vote.php', 
    data : data, 
    success : function(data) 
       {       
        $("#quickpoll").fadeOut(500).hide(function() 
        { 
         $(".quickpollwrapper").fadeIn(500).show(function() 
         { 
          $(".quickpollwrapper").html(data); 

         }); 


        }); 

       } 
    }); 
    return false; 
}); 

if($_POST) 
{ 

    if($_POST['quickpollsubmit'] == 'Vote') { 
    echo 'you did vote and not view only'; 
    } 

는 에코 때문에, 표시되지 않습니다 quickpoll_vote.php 문제는 AJAX 호출에서 생각하는 것입니까?

+1

버튼이 모두 같은 이름을 가지고 있다면,'$ _POST [ 'btnName']'하나를 클릭 한 쪽의 값을 갖게됩니다. 나는 또한 그들이 다른 이름을 가진다면'$ _POST' 데이터에 클릭 된 버튼이있을 것이라고 믿는다. 내가이 문제를 다루었으니 꽤 오랜 시간이 걸렸어. –

+0

조건부에서'isset()'을 사용하십시오. –

+1

Kuhn이 옳습니다. 그들에게 같은 이름을주고 다른 가치를 확인하십시오. – developerwjk

답변

2

어쩌면 당신은 거의 이런 식으로 코드를 변경할 수 있습니다

<input class="view myclass" type="button" name="viewonly" value="View"> 
<input class="submit myclass" type="button" name="vote" value="Vote"> 
<script language="javascript"> 
    $('.myclass').click(function() { 
     clickbuttonname = $(this).attr('name'); 
     var data = $(this).serialize()+'&clickbuttonname='+clickbuttonname; 
     ..... 
    }) 
</script>