JavaScript - convertir tdo a mayuscula, 1ra plbra en mayuscula y concatenar si no esta vacio

 
Vista:

convertir tdo a mayuscula, 1ra plbra en mayuscula y concatenar si no esta vacio

Publicado por Rossana JL (2 intervenciones) el 27/01/2024 19:44:32
Hola, una pregunta.
Tengo 3 input: Apellido, Nombre, Nombre Madre, y un Select para elegir el estado civil actual.

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 nombres 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

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

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
<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>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

convertir tdo a mayuscula, 1ra plbra en mayuscula y concatenar si no esta vacio

Publicado por Costero (10 intervenciones) el 30/01/2024 00:11:24
Si es posible tratamos de evitar muchos "if"s.

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<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;
 
                  results = concateText.split(",")
 
                  var full_name = "";
 
                  for(let i = 0; i < results.length; ++i) {
                    if(results[i].trim() !== "") {
                      full_name = full_name + results[i] + ", ";
                    }
                  }
 
                return full_name.trim().substring(0, full_name.trim().lastIndexOf(","));
 
            }
 
 
         function copiarDatos(id){
          document.getElementById(id).value = concatenate();
         }
 
         // pasa a mayuscula el APELLIDO
 
         function upperCase(id) {
 
           var x=document.getElementById(id).value;
 
           if(x !== undefined && x[0] !== undefined) {
              document.getElementById(id).value=x[0].toUpperCase() + x.substring(1);
           }
 
         }
 
 
 
      </script>
      <h1>PASA TODAS LS PALABRAS A MAYUSCULA</h1>
      <table>
         <tr>
            <td>
               Apellido/s  <input type="text" id="NomApe" onblur="upperCase('NomApe')">
            </td>
         </tr>
         <tr>
            <td>
               Nombre/s   <input type="text" id="Nom" onblur="upperCase('Nom')" >
            </td>
         </tr>
         <tr>
            <td>
               Madre    <input type="text" id="madre" onblur="upperCase('madre')">
            </td>
         </tr>
         <tr>
            <td>
            </td>
         </tr>
         <tr>
            <td>
               <button type="button" onclick="copiarDatos('concateForm')">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('textToEncode')"> Pasar al TexTarea</button>
      <textarea id="textToEncode" style="width: 100%; height: 200px;">
   </body>
</html>

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

convertir tdo a mayuscula, 1ra plbra en mayuscula y concatenar si no esta vacio

Publicado por Alejandro (532 intervenciones) el 30/01/2024 17:20:20
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Para convertir en mayúscula la primer letra.
1
2
3
4
5
input = 'UNO DOS TRES'; // Cadena inicial
input = input.toLowerCase(); // Convertir todo a minúscula
input = input.split(' '); // Separar la cadena en palabras
input = input.map((str)=>str.charAt(0).toUpperCase() + str.slice(1)); // Convertir en mayúscula la primer letra de cada palabra
input = input.join(' '); // Concatenar las palabras.

Para concatenar con comas.
1
2
3
4
5
6
output = [];
output.push('Uno'); // Campo 1
output.push(''); // Campo 2 "vacío"
output.push('Tres'); // Campo 3
output = output.filter((item)=>item.trim()); // Elimina los elementos vacíos
output = output.join(', '); // Concatena los campos separando por comas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

convertir tdo a mayuscula, 1ra plbra en mayuscula y concatenar si no esta vacio

Publicado por Costero (10 intervenciones) el 31/01/2024 16:45:37
Uitilizando la mejoria de Alejandro. El codigo quedaria asi:

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
80
81
82
83
84
85
86
87
88
89
90
91
92
<html>
   <head>
      <title> Proyecto</title>
   </head>
   <body>
      <script type="text/javascript">
 
        function capitalizeWords(word) {
          return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
        }
 
          function concatenate()
              {
                  concateText = document.getElementById("NomApe").value + " "
                              + document.getElementById("Nom").value + " "
                              + document.getElementById("madre").value;
 
                  var words = concateText.split(' ');
 
                  // take out empty strings ...
                  filtered_words = words.filter((word) => word.trim());
 
                  var capitalizedWords = filtered_words.map((word) => capitalizeWords(word));
 
                  // Join the capitalized words with commas
                  var result = capitalizedWords.join(', ');
 
                  // console.log("[" + result + "]");
                  return result
 
            }
 
 
         function copiarDatos(id){
            document.getElementById(id).value = concatenate();
         }
 
 
         function upperCase(id) {
           var word =document.getElementById(id).value;
 
           if(word !== undefined && word[0] !== undefined) {
              document.getElementById(id).value = capitalizeWords(word)
           }
 
         }
 
 
 
      </script>
      <h1>PASA TODAS LS PALABRAS A MAYUSCULA</h1>
      <table>
         <tr>
            <td>
               Apellido/s  <input type="text" id="NomApe" onblur="upperCase('NomApe')">
            </td>
         </tr>
         <tr>
            <td>
               Nombre/s   <input type="text" id="Nom" onblur="upperCase('Nom')" >
            </td>
         </tr>
         <tr>
            <td>
               Madre    <input type="text" id="madre" onblur="upperCase('madre')">
            </td>
         </tr>
         <tr>
            <td>
            </td>
         </tr>
         <tr>
            <td>
               <button type="button" onclick="copiarDatos('concateForm')">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('textToEncode')"> Pasar al TexTarea</button>
      <textarea id="textToEncode" style="width: 100%; height: 200px;">
   </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar