2016-06-10 141 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