Forums:
Hola como estan nuevamente les escribo para solicitar su ayuda, tengo un campo select name q es como un (listview) q se me va llenando de acuerdo a lo q se va introduciendo por teclado .
El listview tiene 2 opciones de añadir y eliminar, esto lo hago con java script.
El caso es q cuando le doy a guardar ,este solo me lo guarda en la base de datos si previamente selecciono con el mouse el texto q esta en el listview.
No deberia ser asi ya que el usuario no va a seleccionar con el mouse sino q esto se deberia hacer automatico.
No se si hay una funcion en javascript o algo q al momento q le de al boton de enviar me seleccione automaticamente todos los campos del listview, de verdad he buscado mucho pero no encuentro nada y necesito urgente solucionar este problema muchas gracias.
En el evento onSubmit...
lanza una función que barra todas las opciones de la lista y setee la propiedad selected a true, con eso debería ser suficiente.
O podrías hacerlo en un input tipo hidden, cada vez que pones un item en la lista, lo agregas al arreglo y visceversa, y luego procesas el arreglo, como tu quieras ...
Suerte...
bye
:)
Ayuda!!!
Hola gracias por tu ayuda pero la verdad no te entendi mucho, si no es mucha molestia no tendras alguna direccion o un ejemplo por ahi.la verdad estoy algo perdida y te lo agradeceria muuucho en serio.
Gracias
Postea tu código
para agregar lo relevante ...
:)
Respuesta
Hola aqui te mano mi código trate de ponerlo lo mas simple posible para q se pueda ver mas claro , en la linea 115 esta el select del lisview.
function QuitarItem()
{
var booleano = true;
var SelectObject = document.form1.elements["menu[]"];
m1len = SelectObject.length;
//recorro la lista: si hay un item seleccionado, lo borro
for (i=(m1len-1); i>=0; i--)
{
//si algún item está seleccionado, lo borro
if (SelectObject.options[i].selected == true)
{
SelectObject.options[i] = null;
booleano = false;
}
}
//si niingún item estaba seleccionado, muestra mensaje de error
if (booleano)
{
alert("Debe seleccionar una Guía para borrar de la lista!");
}
}
/*METODO AGREGAR ITEM
agregar un lo que contiene el text a la lista y borra lo que tenga el text*/
function AgregarItem()
{
if (document.form1.numeroguia.value=="")
{
//error
alert("Debe introducir el número de guía!");
}
else
{
//meto lo que hay en el txt en la lista, siempre y cuando el txt no esté vacío
var SelectObject = document.form1.elements["menu[]"];
index =SelectObject.length;
SelectObject.options[index]= new Option(document.form1.numeroguia.value);
//borro lo que hay en el txt
document.form1.numeroguia.value = "";
}
}
function ValidarVacio()
{
var SelectObject = document.form1.elements["menu[]"];
Repetir_S();
if (document.form1.numerosobre.value == "")
{
alert("Debe rellenar el campo número de sobre!.");
document.form1.numerosobre.focus();
return false;
}
if (SelectObject.length < 1)
{
alert("Debe rellenar el campo número de Guía!.");
SelectObject.focus();
return false;
}
else
{
form1.submit();
return true;
}
}
Número de Sobre:
Número de Guía:
Guias
Empresa de Transporte:
<?php
//conexion base da datos
$link= mysql_connect("lkcmn7l","root");
mysql_select_db("compensacion",$link);
// consulta SQL
$result = mysql_query("select id,nombre_empresa from compensacion.tblfact_empresatransporte", $link);
//Llena el Combobox.
if ($row = mysql_fetch_array($result))
{
echo '';
do {
echo ''.$row["nombre_empresa"].'';
} while ($row = mysql_fetch_array($result));
echo '';
}
// llena el usuario.
?>
"readOnly>
Cuando le doy al botón submit enviar deberia guardarse todo en la bases de datos.
El archivo add_registro_fact.php (no te lo adjunte para no cargar mas la página)es hacia donde va y ahi se llenan la base de datos.
ahi estoy poniendo:
en la linea q esta el foreach ya intente poniendole corchetes y nada ojala puedas ayudarme Gracias.
Te estoy escribiendo de Venezuela.
<?php
$link = mysql_connect("lkcmn7l", "root");//conexion
mysql_select_db("compensacion",$link);
$fecha=date("Y-m-d "); // la variable fecha guarda año-mes-dia
$id=$_POST['empresas'];
$sql = "INSERT INTO tblfact_sobre(num_sobre,empresa, fecha_registro ,usuario) ".
"VALUES ('$numerosobre', '$id', '$fecha' , '$usuario')";
//Guarda en result el query del $sql.
$result = mysql_query($sql,$link);
foreach($_POST["menu"] as $numeroguia)
{
$sql2 = "INSERT INTO tblfact_guia ".
"VALUES ('$numerosobre', '$numeroguia', '$fecha' , '$usuario')";
$result2 = mysql_query($sql2,$link) or die($sql2."\n".mysql_error($link));
}
?>
alert ("Los Datos han sido Guardados!")
self.location='menu1_fact.php';
correccion
function QuitarItem()
{
var booleano = true;
var SelectObject = document.form1.elements["menu[]"];
m1len = SelectObject.length;
//recorro la lista: si hay un item seleccionado, lo borro
for (i=(m1len-1); i>=0; i--)
{
//si algún item está seleccionado, lo borro
if (SelectObject.options[i].selected == true)
{
SelectObject.options[i] = null;
booleano = false;
}
}
//si niingún item estaba seleccionado, muestra mensaje de error
if (booleano)
{
alert("Debe seleccionar una Guía para borrar de la lista!");
}
}
/*METODO AGREGAR ITEM
agregar un lo que contiene el text a la lista y borra lo que tenga el text*/
function AgregarItem()
{
if (document.form1.numeroguia.value=="")
{
//error
alert("Debe introducir el número de guía!");
}
else
{
//meto lo que hay en el txt en la lista, siempre y cuando el txt no esté vacío
var SelectObject = document.form1.elements["menu[]"];
index =SelectObject.length;
SelectObject.options[index]= new Option(document.form1.numeroguia.value);
//borro lo que hay en el txt
document.form1.numeroguia.value = "";
}
}
function ValidarVacio()
{
var SelectObject = document.form1.elements["menu[]"];
Repetir_S();
if (document.form1.numerosobre.value == "")
{
alert("Debe rellenar el campo número de sobre!.");
document.form1.numerosobre.focus();
return false;
}
if (SelectObject.length < 1)
{
alert("Debe rellenar el campo número de Guía!.");
SelectObject.focus();
return false;
}
else
{
form1.submit();
return true;
}
}
<?
Número de Sobre:
Número de Guía:
Guias
Empresa de Transporte:
<?php
//conexion base da datos
$link= mysql_connect("lkcmn7l","root");
mysql_select_db("compensacion",$link);
// consulta SQL
$result = mysql_query("select id,nombre_empresa from compensacion.tblfact_empresatransporte", $link);
//Llena el Combobox.
if ($row = mysql_fetch_array($result))
{
echo '';
do {
echo ''.$row["nombre_empresa"].'';
} while ($row = mysql_fetch_array($result));
echo '';
}
// llena el usuario.
?>
"readOnly>
?>
El códiga para que se
El códiga para que se seleccionen automáticamente los objetos de la lista es el siguiente:
for(i=0;i<document.NOMBRE_FORMULARIO.NOMBRE_LISTA.length;i++)
{
document.NOMBRE_FORMULARIO.NOMBRE_LISTA.options[i].selected=true;
}
Lo ejecutas al momento que pulses sobre el botón que guarda. Este botón tiene que ser type="button", no type="submit". Le asignas un script y al final para que envíe el formulario incluyes la instrucción:
if (confirm('¿Desea registrar esto datos?')){
document.NOMBRE_FROMULARIO.submit();
}
Eso es todo
Diego J. Mendoza
Quito - Ecuador
Diego J. Mendoza
Quito - Ecuador
O disparas la llamada en el evento onSubmit
Y así te aseguras que no hagan un submit sin que se haya procesado la llamada que necesitas ...
bye
:)
Gracias!!!
Gracias por su tiempo y por su ayuda ya arregle este problema, que bueno que existan personas como ustedes.
cuidense y estamos hablando
Somos lo máximo ...
No te olvides de cualquier tip adicional que hayas necesitado para solucionar tu problema postearlo como corolario del POST, eso enriquese la comunidad y nos hace más grandes a todos ...
bye
:)