Ayuda en PHP

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

Imagen de deathUser

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

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

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

Imagen de deathUser

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
:)