Foros del Web » Creando para Internet » HTML »

Input enviar con obligación de campos

Estas en el tema de Input enviar con obligación de campos en el foro de HTML en Foros del Web. Después de tantos intentos llegué a esto: Cita: <script> function calcule2(){ var i=0; for (i=0;i<= 3;i++) {calcule();}} function calcule(){ document.all.resultado.innerText = "La rentabilidad es %"+(((parseFloat(D5.value)/parseFloat(D6.value))*100)+parseFloat(D7.value)) ...
  #1 (permalink)  
Antiguo 12/12/2015, 18:45
bebodaulerio
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Input enviar con obligación de campos

Después de tantos intentos llegué a esto:

Cita:
<script>
function calcule2(){
var i=0; for (i=0;i<= 3;i++) {calcule();}}
function calcule(){
document.all.resultado.innerText = "La rentabilidad es %"+(((parseFloat(D5.value)/parseFloat(D6.value))*100)+parseFloat(D7.value)) ;
}
</script>

<form>
<p>
Utilidad Neta ($):
<input type="number" id="D5" style="background-color: border:1px; text-align: center;">
</p>
<p>
Capital ($):
<input type="number" id="D6" style="background-color: border:1px; text-align: center;">
</p>
<p>
Extrautilidad ($):
<input type="number" id="D7" style="background-color: border:1px; text-align: center;">
</p>
<p>
<input type="button" onClick="calcule2();" value="Resultado" style="background-color: border:1px; text-align: center;">
</p>
<span id="resultado"></span>
</form>
Y tengo dos preguntas:
1 - ¿Qué es lo que hace "var i=0; for (i=0;i<= 3;i++) {calcule();}}"?
2 - ¿Cómo puedo hacer para que el input button requiera de D5,D6,D7 completos para mostrar el "resultado"? Pongo el required pero envía igual y sale el resultado fallido; y después que los campos están vacíos, además no funciona porque el input no es submit es button.

Última edición por bebodaulerio; 12/12/2015 a las 19:14
  #2 (permalink)  
Antiguo 14/12/2015, 06:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Input enviar con obligación de campos

eso es un bucle y no se porque lo tienes alli, pero prueba asi:

Código HTML:
Ver original
  1. <p>
  2. Utilidad Neta ($):
  3. <input type="number" id="D5" style="background-color: border:1px; text-align: center;">
  4. </p>
  5. <p>
  6. Capital ($):
  7. <input type="number" id="D6" style="background-color: border:1px; text-align: center;">
  8. </p>
  9. <p>
  10. Extrautilidad ($):
  11. <input type="number" id="D7" style="background-color: border:1px; text-align: center;">
  12. </p>
  13. <p>
  14. <input type="button" onClick="calcule();" value="Resultado" style="background-color: border:1px; text-align: center;">
  15. </p>
  16. <div id="resultado"></div>
  17. </form>

Código Javascript:
Ver original
  1. function calcule(){
  2. var A = document.getElementById('D5').value;
  3.   var B = document.getElementById('D6').value;
  4.   var C = document.getElementById('D7').value;
  5.  
  6.   var D = document.getElementById('resultado');
  7.  
  8.   D.innerHTML = ((parseFloat(A)/parseFloat(B))*100)+parseFloat(C);
  9.  
  10. }

Aquí una muestra: https://codepen.io/anon/pen/LGpqpJ
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 14/12/2015, 06:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Input enviar con obligación de campos

Espero sea lo que buscas. Saludos
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 14/12/2015, 09:48
bebodaulerio
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Input enviar con obligación de campos

Buenos los cambios sobre todo porque voy mejorando un poco.
Pero el tema es que necesito que al apretar 'Resultado' no muestre nada sin antes haber completado los tres campos (D5,D6,D7). Porque sino muestra: El resultado es: NaN% y es lo que quiero evitar.
O que muestre 'Complete todos los campos' en vez del resultado. Alguna solución para evitar ese NaN.
  #5 (permalink)  
Antiguo 14/12/2015, 10:12
bebodaulerio
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Input enviar con obligación de campos

o por el contrario, que la fórmula no necesite de todos los campos completos y arroje un número igual.
Es decir, si tengo (A / B) + C. Si C no está completo que la formule arroje el resultado de A/B.
  #6 (permalink)  
Antiguo 14/12/2015, 13:00
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Input enviar con obligación de campos

sencillo crea una condición en la formula del script, asi:

Código Javascript:
Ver original
  1. function calcule(){
  2.   var A = document.getElementById('D5').value;
  3.   var B = document.getElementById('D6').value;
  4.   var C = document.getElementById('D7').value;
  5.  
  6.   var D = document.getElementById('resultado');
  7.  
  8.   if(A == ""){
  9.     D.innerHTML = "Faltan parámetros en el Input A";
  10.   }else if(B==""){
  11.     D.innerHTML = "Faltan parámetros en el input B";
  12.   }else if(C==""){
  13.     D.innerHTML = "La rentabilidad es: " + ((parseFloat(A)/parseFloat(B))*100) + "%";
  14.   }else{
  15.   D.innerHTML = "La rentabilidad es: " + (((parseFloat(A)/parseFloat(B))*100)+parseFloat(C)) + "%";
  16.   }
  17. }

Muestra: https://codepen.io/anon/pen/LGpqpJ
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 14/12/2015, 13:21
bebodaulerio
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Input enviar con obligación de campos

Que gran mano me estás dando.
¿Cómo podría hacerse para que los tome todo juntos, es decir, si A, B o C == "" entonces "Complete todos los campos"? Y que por lo tanto no arroje resultado si A, B o C no están completados. Y cuyo caso en el campo C deban poner aunque sea un 0.
Bien podría hacerlos todos por separados, pero hay manera de hacerlos juntos?
  #8 (permalink)  
Antiguo 14/12/2015, 13:23
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Input enviar con obligación de campos

de la misma forma que te lo coloque, solo eliminas la formula:

Código Javascript:
Ver original
  1. function calcule(){
  2.   var A = document.getElementById('D5').value;
  3.   var B = document.getElementById('D6').value;
  4.   var C = document.getElementById('D7').value;
  5.  
  6.   var D = document.getElementById('resultado');
  7.  
  8.   if(A == ""){
  9.     D.innerHTML = "Debe llenar todos los campos";
  10.   }else if(B==""){
  11.     D.innerHTML = "Debe llenar todos los campos";
  12.   }else if(C==""){
  13.    D.innerHTML = "Debe llenar todos los campos";
  14.   }else{
  15.   D.innerHTML = "La rentabilidad es: " + (((parseFloat(A)/parseFloat(B))*100)+parseFloat(C)) + "%";
  16.   }
  17. }
__________________
[email protected]
HITCEL

Etiquetas: campos, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:57.