2012-11-28 2 views
1

PHP 스크립트를 사용하고 있지만 두 개의 라디오 버튼이 있다고 말합니까?PHP - 라디오 버튼을 선택한 후 바로 메시지 표시

하나를 선택하면 (주 의도 | 메시지 상자 표시) 코드를 실제로 어떻게 실행할 수 있습니까?

checked/selected의 라디오 버튼이 있다고 가정하면 message boxRadioButton1 Selected으로 표시됩니까?

PHP로만 가능합니까? 또는 PHP 페이지에 게시하는 html 페이지를 통합해야합니까?

+0

PHP로는 불가능합니다. AJAX로 자바 스크립트 사용하기 –

+0

아니요, PHP는 서버 측이지만 원하는 것은 클라이언트 측, 즉 JavaScript가 수행하는 것입니다. –

답변

3

이와 같은 클라이언트 측 상호 작용에 Javascript를 사용하십시오. 아래 코드는 onchange 이벤트를 수신하고 alert()을 보여줍니다.

<input type="radio" name="myradio" value="RadioButton1" /> 
<input type="radio" name="myradio" value="RadioButton2" /> 
<input type="radio" name="myradio" value="RadioButton3" /> 

<script> 
​window.onload = function() 
{ 
    var radios = document.getElementsByName("myradio"); 
    for(var i=0; i<radios.length; i++) 
    { 
     radios[i].onchange = function() 
     { 
      if(this.checked) 
      { 
       alert(this.value + " selected"); 
      } 
     } 
    }    
}​ 
</script> 

제 3 개 라인 jsFiddle Demo

라디오 버튼 HTML이다. 그 다음에 코드를 나타내는 <script> 태그가 있습니다. Javascript는 onload 이벤트에 몇 가지 코드를 추가합니다.이 코드는 페이지가로드 될 때이 코드를 실행하는 것을 의미합니다. 다음으로 우리는 모든 라디오 버튼 요소를 radios이라는 배열로 가져옵니다. getElementsByName()을 사용하여 라디오 버튼 그룹 이름 myradio을 전달합니다. 다음으로 배열의 각 라디오 버튼을 반복하고 onchange 핸들러를 지정합니다. 즉, 각 라디오 버튼이 변경 될 때이 코드를 실행합니다. 그 안에 라디오 버튼이 checked인지 확인합니다. 라디오 버튼이 RadioButton1, RadioButton2, RadioButton3 인 라디오 버튼의 값을 표시합니다.

+0

놀라운 반응에 감사드립니다. 나는 거의 그것이 내 질문에 대한 최종 답변이라고 생각한다. 그러나 전에 언급 한 것처럼, 나는 HTTP/HTML/PHP/JS/etc 코더가 아니다 ... 나는 델파이, C++, VB, C# 등을 코드한다. ... 당신이 제공 한 코드의 구현에 대해 좀 더 자세하게 물어 보는 것은 솔직히 많은 일이겠습니까? 귀하의 게시물을 가져 주셔서 감사합니다. 당신은 HTML 코드와 그 다음 "

1

폼 요소 선택은 클라이언트의 브라우저에서 수행되는 반면 PHP는 서버 측 언어입니다. 양식을 제출할 때 POST 요청과 같은 일부 데이터가 실제로 서버로 다시 전송 될 때까지 사용자가 클릭하는 것을 전혀 인식하지 못합니다.

그렇다면 PHP는 여러분이 원하는 것을 성취 할 수 없습니다.

쉬운 방법이 있습니다. JavaScript는 클라이언트 측에서 실행되므로 라디오 버튼에 이벤트 리스너를 쉽게 첨부하고 필요할 경우 메시지 상자를 표시 할 수 있습니다.

1

PHP로는 불가능합니다! 가장 쉬운 방법은 Jquery를 사용하는 것입니다.

1

PHP만으로는 불가능하지만 Jquery ajax를 사용하면됩니다. 이렇게하려면 라디오 버튼을 클릭 할 때 ajax 요청을하고 메시지 상자에 데이터를 응답으로 채 웁니다. 내가 예와 함께 설명 보자 라디오 버튼의 클릭에

<div id='msg_box'>Message will be displayed here</div> 

자바 스크립트의 함수를 호출

</script> 

당신이 jQuery를 포함해야합니다}

<script type="text/javascript"> 
function ajaxCallForMessage(){ 
$.ajax({ 
url: "Url of the page which contain message/?btn_name=xy", 
mthod: "GET" 
}).done(function (data) { 
$('#msg_box').append(data); 
}); 

ajaxCallForMessage() 말한다.

1

질문을 올바르게 이해했다면 Javascript를 통해 간단히 제안 할 것입니다.

사용자가 RadioButton1을 선택하면 페이지에서 "클릭"이벤트가 트리거됩니다. 나는 당신이 당신이 추가 캡처 할 수 있다는 것을 알고 추측 onClick 속성과 같은 :

<input type="radio" name="Radio1" value="RadioOption1" onclick="showMessage()"> Option 1 

그런 다음 당신이해야 할 모든 메시지와 함께 페이지 (아마 항)에 일부 HTML을 추가하는 자바 스크립트 funcion showMessage를 만드는 것입니다 당신은 표시하고 싶다. jQuery append 또는 html 함수를 사용하여 Javascript에서 쉽게이 작업을 수행 할 수 있습니다.

function showMessage() { 
    // Example displaying an alert 
    alert("Message to be displayed here") 
} 

실제로 서버에서 정보를 얻을 필요가있을 때만 PHP를 소개합니다. 이 경우 페이지에서 서버로의 GET/POST (예 : jQuery get 또는 post 메소드를 통한 AJAX 사용) 일 것입니다. Javascript를 통해 페이지에 표시 될 정보를 반환하는 PHP 스크립트를 호출합니다.

하지만 "Option 1 selected"와 같은 간단한 메시지를 표시하려면 서버 상호 작용없이 Javascript로해야합니다.

이 정보가 도움이되기를 바랍니다.

감사합니다. Romén

관련 문제