Javascript onclick en select input

[email protected]

Tengo una duda que no sé resolver con un formulario. Agradecería mucho pudieran darte una orientación.

La cuestión planteada es la siguiente:

Tengo una función javascript que es esta:

<!-- Empieza script copia -->
<script language="javascript">
function copy_address() {
    document.getElementById('x1').value = document.getElementById('y1').value;
    document.getElementById('x2').value = document.getElementById('y2').value;
    document.getElementById('x3').value = document.getElementById('y3').value;
    document.getElementById('x4').value = document.getElementById('y4').value;
    document.getElementById('x5').value = document.getElementById('y5').value;
    document.getElementById('x6').value = document.getElementById('y6').value;
    document.getElementById('x7').value = document.getElementById('y7').value;
}
</script>
    <!-- FINALIZA SCRIPT COPIA -->

Llamo la función a través de un link o una imagen de la siguiente forma:

<a id="copy" onclick="copy_address()">¿Copiamos los mismos datos?</a>

Funciona perfectamente, pero quiero integrarlo en el formulario a través de un select.

Algo así:

  <select id="selectBox" onchange="changeFunc();">
   <option value="1">No</option>
   <option value="2">Si</option>
  </select>

Pretendo que cuando se pulse el "Si" se copien los datos.

Quedo muy agradecido a [email protected]

1

1 respuesta

Respuesta
1

No entiendo muy bien para que quieres hacer eso pero es exactamente lo mismo:

document.getElementById('x8').value = document.getElementById('selectBox').value;

copia el valor seleccionado del combo "selectBox" en un input cuyo id es "x8"

Disculpa Victor. Creo que no me he sabido explicar. Tengo un formulario dividido en dos pasos, y quiero dar la posibilidad de copiar los datos del primer paso, cuando se esté en el paso segundo.

Como decía, llamo la función a través de un link o una imagen de la siguiente forma:

<a id="copy" onclick="copy_address()">¿Copiamos los mismos datos?</a>

Pero quiero que esa función se ejecute en vez de a través de un link o una imagen, a través de select integrado en el formulario. Es decir, que cuando el usuario pulse "Si", se copien los datos del paso uno al paso 2.

Te agradecería mucho me indicases concretamente cómo quedaría el select que tengo que poner, el código por favor.

Gracias.

Un saludo.

De acuerdo, ahora lo entiendo mejor.

Es simple, tan solo implementa la función changeFunc que ya tienes indicada en el evento onChange del select para que obtenga el valor y llame a copy_address() en caso de que sea "SI":

HTML:

  <select id="selectBox" onchange="changeFunc(this.value);">
   <option value="1">No</option>
   <option value="2">Si</option>
  </select>

JS:

<script>
function changeFunc(val) {
    if (val.toLowerCase() == "si"){
        copy_address();
    }
}
</script>

Buenas tardes, Víctor. Disculpa que nuevamente te moleste. Si yo tengo tres variables en el select, cómo podría combinarlas? Es decir, yo tengo un formulario de tres pasos. Si en el paso tercero quiero dar la posibilidad al usuario de copiar el contenido de cualquiera de los otros dos pasos y tengo un select en el tercer paso para hacer eso posible, cómo quedaría el js que me explicabas antes?

<select id="selectBox" onchange="changeFunc(this.value);">
<option value="1">Arrendador</option>
<option value="2">Arrendatario</option>
<option value="3">Propietario</option>
</select>

Gracias de corazón.

Pues de forma muy similar:

<script>
function changeFunc(val) {
    if (val == 1){
        copy_address_arrendador();
    }
    else if (val == 2){
        copy_address_arrendatario();
    }
    else if (val == 3){
        copy_address_propietario();
    }
}
</script>

Obviamente tendrías que tener definidos los tres métodos de copia.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas