Ahoj, mám tento kód pre rozpoznávanie hlasu. Ak tam napíšem to, čo chcem ručne s klávesnicou, dám text, kliknem a uloží sa mi do txt súboru. Ak však poviem hlasom, vykoná sa request, ale neuloží sa do txt súboru nič. Vedeli by ste mi pomôcť? Vôbec s JS nemám žiadne skúsenosti.
<!-- CSS Styles -->
<style>
.speech {border: 1px solid #DDD; width: 300px; padding: 0; margin: 0}
.speech input {border: 0; width: 240px; display: inline-block; height: 30px;}
.speech img {float: right; width: 40px }
</style>
<form id="labnol" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<div class="speech">
<input type="text" name="preklad" id="transcript" placeholder="Hlas/Text" />
<img onclick="startDictation()" src="http://pngimg.com/uploads/microphone/microphone_PNG7928.png" />
<input type="submit" name="submit" value="odosli">
</div>
</form>
<script>
function startDictation() {
if (window.hasOwnProperty('webkitSpeechRecognition')) {
var recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.interimResults = false;
recognition.lang = "sk-SK";
recognition.start();
recognition.onresult = function(e) {
document.getElementById('transcript').value
= e.results[0][0].transcript;
document.getElementById('labnol').submit();
recognition.stop();
};
recognition.onerror = function(e) {
recognition.stop();
}
}
}
</script>
<?php if(isset($_POST['submit'])){
$preklad = $_POST['preklad'];
$preklad = htmlspecialchars( $preklad, ENT_QUOTES );
$preklad = trim( $preklad );
$t = file_get_contents("preklady.txt");
$today = date("Y-m-d H:i:s");
$t .= "Dnešný preklad: ".$preklad."\r\n";
file_put_contents("preklady.txt",$t);
}
Problém je v JS tu:
document.getElementById('labnol').submit();
Potrebujem aby ten submit sa adresoval na input submit s name submit. Diki za pomoc.