양식을 게시 한 후 조건부 JavaScript 함수 설정
-
22-07-2019 - |
문제
사과 매우 기본 질문 - JavaScript의 충돌 과정이 다가 오십시오! 그러나 그 전에는 JavaScript 기능이 있습니다.
function toggle(request)
이 함수는 단순히 DIV를 가시/보이지 않는 것으로 전환합니다. 이 기능에서 원하는 동작을 사용하여 원하는 동작을 트리거 할 수 있습니다. onclick 다음과 같이 이벤트 :
<input type="radio" name="complete" value="true" id="complete_yes"
onclick="toggle('true');"/>
이것은 잘 작동하지만 양식을 게시 한 후 특정 조건에서 라디오 버튼을 자동으로 선택하고 JavaScript 기능을 자동으로 설정하기를 원합니다.
toggle('true')
... 따라서 div 내용을 드러냅니다. "확인 된"부품이 작동했지만 JavaScript 기능이 조건부로 True Aswell로 설정하도록하려면 어떻게해야합니까?
<input type="radio" name="complete" value="true" {if $data.complete == true}checked{/if} id="complete_yes"
onclick="toggle('true');"/>
해결책
대신 jQuery를 배우기로 결정했습니다! 아래 구문은 원하는 결과를 달성하고 매우 유지 가능합니다!
$(document).ready(function () {
$('#complete_yes').toggle(function () {
$('#repair_complete').removeClass('hidden');
}, function() {
$('#repair_complete').addClass('hidden');
});
});
다른 팁
JS에서 테스트는 어떻습니까? toggle
기능, DIV를 입력의 "확인 된"상태에 따라 DIV를 보이게 해야하는 경우?
이와 같은 것 같아요 : 나는 다음과 같이 생각한다.
function toggle()
{
if (document.getElementById('YOUR_INPUT_ID').checked) {
document.getElementById('YOUR_DIV_ID').style.display = 'block';
} else {
document.getElementById('YOUR_DIV_ID').style.display = 'none';
}
}
절대적으로 테스트되지 않았지만 아이디어를 얻을 수 있다고 생각합니다 :-)
(onclick의 JS 함수가 호출되기 전후에 "확인 된"입력이 전혀 모릅니다 ... 따라서 실제로 반전해야 할 수도 있습니다. 'block
' 그리고 'none
'설정)
그리고 여러 입력/div가있는 경우 ID를 매개 변수로 전달할 수 있습니다. toggle
기능...
그렇게하면 해당 기능에 대한 어떤 종류의 "초기화"에 대해 걱정할 필요가 없습니다.
DIV가 보이는지 테스트 할 수도 있습니다.
function toggle()
{
if (document.getElementById('YOUR_DIV_ID').style.display == 'none') {
document.getElementById('YOUR_DIV_ID').style.display = 'block';
} else {
document.getElementById('YOUR_DIV_ID').style.display = 'none';
}
}
(테스트되지 않음)
그렇게하면 당신의 기능은 실제로 할 것입니다 비녀장 DIV가 표시 될 때마다 표시됩니다.
왜 다음과 같은 일을하지 않겠습니까?
{if $data.complete == true}
<script type="text/javascript">toggle('true');</script>
{/if}