como puedo enviar una variable sin usar botones
Publicado por calosrasperry (4 intervenciones) el 17/01/2018 00:16:28
hola soy nuevo en esto de html php y todas esas cuestiones.
Lo que hace mi código de html es usar el microfono de Google chorme y convierte el audio en texto, en primera instancia el texto es interpretado en el <textarea id="areaResult"></textarea> , y esa variable se muestra en el <input placeholder="TU ORDEN" name="nombre"style="font-size: 25px;" id="finalTranscript">.
Ahora la idea es que en vez de usar el botón <button onclick= "Enviar();"><img src="send.gif" alt="" /></button> que sirve para enviar la variable tipo text a un formulario php en este caso se llama procesa.php, SE LOGRE ENVIAR LA VARIABLE SIN PULSAR EL BUTTON.
POR CIERTO EL CODIGO SOLO FUNCIONE GOOGLE CHROME
MI CODIGO HTML ES
---------------------------------EL CODIGO webSpech.js es el siguiete----------------------------------------
este es el comando de procesa.php
Lo que hace mi código de html es usar el microfono de Google chorme y convierte el audio en texto, en primera instancia el texto es interpretado en el <textarea id="areaResult"></textarea> , y esa variable se muestra en el <input placeholder="TU ORDEN" name="nombre"style="font-size: 25px;" id="finalTranscript">.
Ahora la idea es que en vez de usar el botón <button onclick= "Enviar();"><img src="send.gif" alt="" /></button> que sirve para enviar la variable tipo text a un formulario php en este caso se llama procesa.php, SE LOGRE ENVIAR LA VARIABLE SIN PULSAR EL BUTTON.
POR CIERTO EL CODIGO SOLO FUNCIONE GOOGLE CHROME
MI CODIGO HTML ES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Reconocimiento de Voz</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="css/estilos.css" />
<script src="js/jquery-1.10.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
function objetoAjax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E){
xmlhttp =false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!="undefineed"){
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function Enviar() {
valor = document.getElementById('finalTranscript').value;
ajax = objetoAjax();
ajax.open("POST", "procesa.php", true);
ajax.onreadystatechange= function(){
if (ajax.readyState==4) {
document.getElementById("resultado").innerHTML=ajax.responseText;
}
}
ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
ajax.send("varp2="+ valor )
}
</script>
<script src="WebSpeech.js"></script>
<section><textarea id="areaResult"></textarea><br />
<input placeholder="TU ORDEN" name="nombre"style="font-size: 25px;" id="finalTranscript"><br />
<button onclick= "Enviar();"><img src="send.gif" alt="" /></button>
<img id="mic" src="mic.gif" alt="" /></section>
</form>
<h4>Control de un led a través de voz</h4>
<div id="resultado"></div>
</body>
</html>
---------------------------------EL CODIGO webSpech.js es el siguiete----------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
window.onload = function () {
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.lang = "es";
mic.addEventListener('click', function () {
areaResult.focus();
recognition.start();
});
//events
recognition.onaudiostart = function (event) {
console.log("onaudiostart");
};
recognition.onsoundstart = function (event) {
console.log("onsoundstart");
};
recognition.onspeechstart = function (event) {
console.log("onspeechstart");
};
recognition.onspeechend = function (event) {
console.log("onspeechend");
};
recognition.onsoundend = function (event) {
console.log("onsoundend");
};
recognition.onaudioend = function (event) {
console.log("onaudioend");
};
recognition.onresult = function (event) {
console.log("onresult");
var interimResult = '',
finalResult = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
finalResult = event.results[i][0].transcript;
} else {
interimResult += event.results[i][0].transcript;
}
}
finalTranscript.value = finalResult;
areaResult.value = interimResult;
if (interimResult.indexOf('terminar') != -1)
recognition.stop();
};
recognition.onnomatch = function (event) {
console.log("onnomatch");
};
recognition.onerror = function (event) {
console.log("onerror: " + event);
};
recognition.onstart = function (event) {
console.log("onstart");
};
recognition.onend = function (event) {
console.log("onend");
};
};
este es el comando de procesa.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
switch ($_POST['varp2'])
{
case 'encender sistema':
echo "sistema encendido";
break;
case ' encender sala':
echo "sala encnedida";
$a= exec("sudo python /var/www/html/rpi/prende.py");
echo $a;
break;
case ' Apagar sala':
echo "sala apagada";
exec('sudo python /var/www/html/rpi/apaga.py');
break;
case ' encender cocina':
echo "cocina encnedida";
break;
default;
echo 'COMANDO NO VALIDO';
break;
}
?>
Valora esta pregunta
-1