2016-06-10 3 views
0

음악을 재생하는 데 문제가 있습니다. 그것은 놀지 않습니다. 버튼을 클릭하여 음악을 듣고 싶습니다.클릭하면 소리가납니다. js

<script> 
    $(document).ready(function() { 
    $('.button').submit(function() { 
     var audio = document.getElementById('audioFile'); 
     audio.play(); 
    }); 
    }); 
</script> 
</head> 

<body> 
    <audio id="audioFile"> 
    <source src="font/sound.mp3" type="audio/mpeg"> 
    </audio> 
    <div class="inputMessage"> 

    <form method="POST" action="/index.php"> 
     <textarea class="chatMessage" name="text" placeholder="Текст сообщения"></textarea> 
     <br> 
     <input class="button" type="submit" name="enter" value="Отправить"> 
     <input type="reset" value="Очистить"> 
    </form> 
    </div> 
</body> 
+0

이 솔루션을보십시오 : HTTP : 할 //stackoverflow.com/a/18628124/2815635 – C2486

+0

어떤 오류 메시지 너 알지? 디버깅은 무엇을 보여줍니까? –

+0

textarea에서 텍스트를 보내야하고 buttom을 클릭하면 소리가 들려야합니다. – Catalina

답변

1

첫 번째 사항 : .submit() 메서드는 입력이 아니라 양식에 있습니다. 대신 .click() 메서드를 사용할 수 있습니다. 두 번째 : 버튼을 클릭하면 양식이 보내지고 페이지는 /index.php로 리디렉션됩니다. 사운드 재생을 가능하게하려면 동일한 페이지에 있어야합니다 (요청은 여전히 ​​비동기 적으로 보낼 수 있음).

$('.button').click(function(ev) { // jQuery passes the event as a parameter 
    var audio = document.getElementById('audioFile'); 
    audio.play(); 
    ev.preventDefault(); // and we prevent the form from being sent 
}); 

데모를 살펴 보자 : 여기에 새 페이지를로드 방지하는 방법입니다 https://jsfiddle.net/s48jcrvc/1/

+0

작동하지만 지금은 또 다른 문제가 있습니다. 버튼을 클릭하면 노래가 재생되기 시작하지만 다시 버튼을 누르면 노래가 재생 될 때까지 양식이 전송되지 않습니다. 그것을 고치는 방법? 버튼을 누르면 노래가 처음부터 시작됩니다. – Catalina

+0

재생하기 전에'audio.currentTime = 0; '을 설정하십시오. 도움이된다면 제 대답을 받아주세요. –

+0

마지막 질문은 음악이 끝나면 다시 연주하는 방법입니다. – Catalina

관련 문제