div 아래에 선택 드롭 다운이있는 텍스트 영역이 있습니다. 그 아래에는 두 개의 버튼이 있습니다. 하나는 미리보기이고, 다른 하나는 텍스트를 파일로 업로드하는 것입니다. 텍스트 영역이 비어있는 경우 업로드 버튼을 숨기려고합니다. 내 자바 스크립트는 항상 버튼을 숨기기 때문에 작동하지 않습니다. 자신의 JSFiddle에 링크텍스트 영역이 비어있는 경우 버튼을 숨기는 Javascript 기능이 작동하지 않습니다.
<div class="container">
<label for="text-area">Paste your code here: </label>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<textarea name="code_input" id="code_textarea" class="form-control" rows="15" placeholder="Start coding!" required><?= isset($_POST['code_input']) ? $_POST['code_input'] : '' ?></textarea>
<div class="button-container">
<select required name="language-select" class="form-control" id="language_selector">
<option value="" selected disabled>Language</option>
<option>20 options follow</option>
<!-- THIS WILL KEEP THE VALUE IN THE DROPDOWN AFTER SUBMIT -->
<script type="text/javascript">
document.getElementById('language_selector').value = "<?php echo $_POST['language-select'];?>";
</script>
</select>
<br/>
<br/>
<div id="button-container" class="btn-toolbar">
<button id="drive_submit_btn" class="btn btn-md" type="submit">Preview</button>
<button id="upload_btn" class="btn btn-md" type="submit">Upload</button>
</div>
</div>
</form>
<div class="show-code">
<script src="lib/prism.js"></script>
<!-- THIS DISPLAYS THE CODE AFTER SUBMITTING USING THE PRISM.JS PLUGIN FOR SYNTAX HIGHLIGHTING -->
<!-- Get language selection from dropdown and append it to language class. Echo the text as highlighted code -->
<pre><code class="language-<?php echo $language ?>"><?php echo $user_code; ?></code></pre>
</div>
</div>
<!-- THIS IS THE JAVASCRIPT TO HIDE THE BUTTON UNTIL TEXT IS ENTERED.-->
<!-- HOWEVER IT ALWAYS HIDES IT!! -->
<script>
$(document).ready(function() {
/* I EVEN TRIED TO TRIM IT TO NO AVAIL */
var content = $.trim($('#code_textarea').val());
if(content.length === 0) {
$('#upload_btn').hide();
} else {
$('#upload_btn').show();
}
});
</script>
내가 본 많은 답변 : 여기
은 (20 그들을 있기 때문에 왼쪽으로 모든 옵션 포함) 양식, 버튼 컨테이너를 선택 드롭 다운입니다 , 그리고 그들은 모두 잘 작동합니다. 무슨 일로 광산이 제대로 작동하지 않습니까? 내 모든 JS 기능을 제외하고 잘 작동합니다.
다시 숨겨집니다 중 관련 소스 코드 만 표시합니다. 또한'php'를 통해 콘텐츠를 삽입하고 있거나 클라이언트가 이벤트 리스너를 사용해야하므로 텍스트 영역에서 데이터를 제거한 경우 버튼을 숨기지 않는다는 것을 의미합니까? – NewToJS
content.length가 실제로 0인지 확인하기 위해 디버그 했습니까? 버튼을 잘 때 코드를 복사하고 텍스트 영역 내에서 PHP 스크립트를 제거 작동합니다. 무슨 일이 일어나고 있는지 다시 한번 확인하고 싶을 수도 있습니다. –
@NewToJS 그래서 PHP 코드가 포함되어 있습니다. PHP 코드를 제거하면 제출 한 후 코드 블록이 표시되지 않습니다. – IRGeekSauce