Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   convertir todo a mayuscula, 1ra palabra en mayuscula y concatenar si no esta vacio (https://www.clubdelphi.com/foros/showthread.php?t=96576)

rossana01 29-01-2024 00:17:08

convertir todo a mayuscula, 1ra palabra en mayuscula y concatenar si no esta vacio
 
Hola, una pregunta.
Tengo 3 input: Apellido, Nombre, Nombre Apellido Madre, y un Select para elegir el estado civil actual (si es caado, soltero, viudo, divorciado).

El input de Apellido, me convierte a mayúscula lo que se introduce, lo que no consigo es como hacer, si la persona tiene 2,3 o 4 nombres, cuando complete estos datos en el input de Nombres, me pase a mayúscula la 1ra letra de cada palabra.

El resultado final seria que me concatene estos datos en la caja TexTarea, ahí recién necesito estas correcciones, separados por una coma
Ejemplo:
input1: correa input2: jose maria input3: maria rodriguez select: separado

Luego de presionar boton, los campos se concatenan y pasan a un texbox y a un textarea :
El Señor Jose Maria CORREA, de estado civil separado, es hijo de Maria Rodriguez.
-----------------------------------------------------------------------------------------

Si la persona no completa los campos anda. Cuando le doy click en boton PASAR AL TEXTAREA, me pone la coma de separacion, entonces deberia porner una condicion IF ELSE,
si el campo APELLIDO no esta vacio entonces concatene y agregue la un texto y la coma +"," +
if campo NOMBRE no esta vacio entonces concatene. y agregue la coma.. y asi sucesivamente hasta concatenar todos los campos. es correcto?

Código:

<html>
<head>

  <title> Proyecto</title>

</head>
<body>

<script type="text/javascript">

  // Esto concatena los 3 inputs
  function concatenate()
      {
          concateText = document.getElementById("NomApe").value + ", "
                      + document.getElementById("Nom").value + ", "
                      + document.getElementById("madre").value;
          document.getElementById("concateForm").value = concateText;
      }


  // Esto concatena en textarea
function copiarDatos(){
 var VarApee = document.getElementById("NomApe").value;
 var VarNomm = document.getElementById("Nom").value;
 var VarMadree = document.getElementById("madre").value;

 // aca podria poner un If, preguntando?
 var texto = VarApee + ", " + VarNomm + ", " +  VarMadree;
 document.getElementById("textToEncode").innerHTML = texto;
}
  // pasa a mayuscula el APELLIDO
function upperCase() {
  var x=document.getElementById("NomApe").value;
  document.getElementById("NomApe").value=x.toUpperCase();
}

</script>
  <h1>PASA TODAS LS PALABRAS A MAYUSCULA</h1>
  <table> <tr> <td>
              Apellido/s  <input type="text" id="NomApe" onblur="upperCase()">
      </td> </tr>        <tr> <td>
              Nombre/s  <input type="text" id="Nom"  >
      </td> </tr>        <tr> <td>
              Madre    <input type="text" id="madre">
      </td>  </tr>      <tr> <td>
      </td> </tr>      <tr>  <td>
              <button type="button" onclick="concatenate()">Pasar al la caja </button>
              <input type="text" name="textResult" id="concateForm" rows="4" cols="40">
      </td>  </tr>        <tr> <td>
estado civil
<select name="estado" id="estado">
<option value="">Seleccione...</option>
<option value="1">casado</option>
<option value="2">soltero</option>
<option value="3">divorciado</option>
</select></td>
  </table>
<button type="button" id="boton" onClick="copiarDatos()"> Pasar al TexTarea</button>
<textarea id="textToEncode" style="width: 100%; height: 200px;">
</body>

</html>


Casimiro Notevi 29-01-2024 11:28:45

A ver si esto sirve para algo:

Código:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Formulario</title>
    <script>
        function procesarDatos() {
            // Obtener valores de los campos
            var apellido = document.getElementById("apellido").value.toUpperCase();
            var nombres = document.getElementById("nombres").value;
            var nombreMadre = document.getElementById("nombreMadre").value.toUpperCase();
            var estadoCivil = document.getElementById("estadoCivil").value;

            // Convertir la primera letra de cada palabra en nombres a mayúscula
            nombres = nombres.replace(/\b\w/g, function (l) {
                return l.toUpperCase();
            });

            // Concatenar los datos
            var resultado = "El Señor " + nombres + " " + apellido + ", de estado civil " + estadoCivil + ", es hijo de " + nombreMadre + ".";

            // Mostrar el resultado en el textarea
            document.getElementById("resultadoTextarea").value = resultado;
        }
    </script>
</head>
<body>
    <form>
        <label for="apellido">Apellido:</label>
        <input type="text" id="apellido" oninput="this.value = this.value.toUpperCase();">

        <label for="nombres">Nombres:</label>
        <input type="text" id="nombres" oninput="procesarDatos();">

        <label for="nombreMadre">Nombre Apellido Madre:</label>
        <input type="text" id="nombreMadre" oninput="this.value = this.value.toUpperCase();">

        <label for="estadoCivil">Estado Civil:</label>
        <select id="estadoCivil">
            <option value="soltero">Soltero</option>
            <option value="casado">Casado</option>
            <option value="viudo">Viudo</option>
            <option value="divorciado">Divorciado</option>
        </select>

        <button type="button" onclick="procesarDatos();">Procesar</button>

        <textarea id="resultadoTextarea" rows="4" cols="50" readonly></textarea>
    </form>
</body>
</html>


Delphi01 30-01-2024 00:32:47

Prueba :
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>
  <
meta charset="UTF-8">
  <
meta name="viewport" content="width=device-width, initial-scale=1.0">
  <
title>Formulario</title>

</
head>
<
body>
  <
h1>PASA TODAS LAS PALABRAS A MAYÚSCULA</h1>
  <
table>
    <
tr>
      <
td>Apellido/<input type="text" id="NomApe" onblur="upperCase()"></td>
    </
tr>
    <
tr>
      <
td>Nombre/<input type="text" id="Nom" onblur="capitalizeFirstLetter()"></td>
    </
tr>
    <
tr>
      <
td>Madre <input type="text" id="madre" onblur="capitalizeMother()"></td>
    </
tr>
    <
tr>
      <
td>
        <
button type="button" onclick="concatenate()">Pasar a la caja de texto</button>
        <
input type="text" name="textResult" id="concateForm" rows="4" cols="40">
      </
td>
    </
tr>
    <
tr>
      <
td>
        
Estado civil
        
<select name="estado" id="estado">
          <
option value="">Seleccione...</option>
          <
option value="casado">Casado</option>
          <
option value="soltero">Soltero</option>
          <
option value="viudo">Viudo</option>
          <
option value="divorciado">Divorciado</option>
        </
select>
      </
td>
    </
tr>
  </
table>

  <
button type="button" id="boton" onClick="copiarDatos()">Pasar al Textarea</button>
  <
textarea id="textToEncode" style="width: 100%; height: 200px;"></textarea>

  <
script>
    function 
upperCase() {
      var 
document.getElementById("NomApe").value;
      
document.getElementById("NomApe").value x.toUpperCase();
    }

    function 
capitalizeFirstLetter() {
      var 
words document.getElementById("Nom").value.split(" ");
      for (var 
0words.lengthi++) {
        
words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1);
      }
      
document.getElementById("Nom").value words.join(" ");
    }

  function 
capitalizeMother() {
    var 
motherInput document.getElementById("madre").value;
    var 
capitalizedMother motherInput.charAt(0).toUpperCase() + motherInput.slice(1);
    
document.getElementById("madre").value capitalizedMother;
  }

    function 
concatenate() {
      var 
concateText document.getElementById("NomApe").value ", " +
                       
document.getElementById("Nom").value ", " +
                       
document.getElementById("madre").value;
      
document.getElementById("concateForm").value concateText;
    }

    function 
copiarDatos() {
      var 
VarApee document.getElementById("NomApe").value;
      var 
VarNomm document.getElementById("Nom").value;
      var 
VarMadree document.getElementById("madre").value;
      var 
estadoCivil document.getElementById("estado").value;

      if (
VarApee !== "" && VarNomm !== "" && VarMadree !== "" && estadoCivil !== "") {
        var 
nombreCompleto "El Señor " VarNomm " " VarApee ", de estado civil " estadoCivil ", es hijo de " VarMadree ".";
        
document.getElementById("textToEncode").innerHTML nombreCompleto;
      } else {
        
alert("Por favor complete todos los campos antes de pasar al textarea.");
      }
    }
  
</script>
</body>
</html> 


rossana01 30-01-2024 16:24:43

gracias
 
Gracias, con su respuestas me ayudaron y me dieron nuevas ideas....


La franja horaria es GMT +2. Ahora son las 01:43:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi