Anuncio

Anuncio Módulo
Colapsar
No hay anuncio todavía.

Problemas al pasar de JavaScript a HTML/PHP

Título de Página Módulo
Transferir Eliminar Colapsar
X
Detalle Conversación Módulo
Colapsar
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Problemas al pasar de JavaScript a HTML/PHP

    Hola,

    me está pasando algo estraño. Nunca lo había visto. A ver, estoy enviando un formulario a JavaScript (para hacer una consulta). Al recojer los datos y guardarlos en las variables correspondientes, lo envio a la misma página para poder hacer la consulta. El caso es que yo le pongo nombres como "filtro_noseque = valor", "filtro_nosecuantos = valor".
    Y lo que recibo en la URL es el nombre del campo en el que estaban los valores.

    Código:
    ....
    <form action="" method="get" name="formulari">
                    	<input type="hidden" id="hdd_accio" name="hdd_accio" value="<?php echo $g; ?>" />
                        <td><input type="text" id="txt_id_maquina" name="txt_id_maquina" size="12" /></td>
                        <td><input type="text" id="txt_data_compra" name="txt_data_compra" maxlength="10" size="10" /></td>
                        <?php if ($_SESSION['persona']=="A" || $_SESSION['persona']=="T" ){ ?> 
                        	<td><input type="text" name="txt_tecnic_distribuidor" size="10" /></td>
    					<?php } ?>
                        <td>
                        	<select id="cbo_tipus_incidencia" name="cbo_tipus_incidencia" ><option value="0"></option>
                            <?php while ($row = mysql_fetch_array($tipus_incidencies)){ ?>     
                                <option value="<?php echo $row['tipinc_id']; ?>" ><?php echo htmlentities($row['tipinc_nom']); ?></option>
                            <?php } ?></select>
                        </td>
                        <td><select id="cbo_estat" name="cbo_estat">
                            <option value="0"></option>
                            <option value="1"><?php echo $Incidencia_estat1; ?></option>
                            <option value="2"><?php echo $Incidencia_estat2; ?></option>
                            <option value="3"><?php echo $Incidencia_estat3; ?></option>
                            <option value="4"><?php echo $Incidencia_estat4; ?></option>
                            <option value="5"><?php echo $Incidencia_estat5; ?></option>
                            </select>
                        </td>
                        <td><select id="cbo_prioritat" name="cbo_prioritat">
                            <option value="0"></option>
                            <option value="1"><?php echo $Incidencia_prioritat1; ?></option>
                            <option value="2"><?php echo $Incidencia_prioritat2; ?></option>
                            <option value="3"><?php echo $Incidencia_prioritat3; ?></option>
                            </select>
                        </td>
                        <td>
                        <input type="image" src="../img/lupa.png" value="Filtrar" title="Filtrar per als camps plens" onclick="canviarFiltreIncidencia()"  />
                        <input type="image" src="../img/icon_reset.png" value="Netejar filtre" title="Netejar filtre" onclick="borrarFiltreIncidencia()" />
                        </td>
                    </form>
    ....
    Y en el Javascript:

    Código:
    function canviarFiltreIncidencia(){
    	var accio = document.getElementById('hdd_accio').value;
    	var dcompra = document.getElementById('txt_data_compra').value; if (dcompra == "") dcompra=null;
    	//var maquina = document.getElementById('txt_id_maquina').value; if (maquina == "") maquina=null;
    	var maquina ="AAAA";
    	var tecnicDis = document.getElementById('txt_tecnic_distribuidor').value; if (tecnicDis == "") tecnicDis=null;
    	
    	var tipus = document.getElementById('cbo_tipus_incidencia').options[document.getElementById('cbo_tipus_incidencia').selectedIndex].value;
    	var prioritat = document.getElementById('cbo_prioritat').options[document.getElementById('cbo_prioritat').selectedIndex].value;
    	var estat = document.getElementById('cbo_estat').options[document.getElementById('cbo_estat').selectedIndex].value;
    	alert("SI");
    	location.href = "form_mostrar_incidencies.php?g="+accio+"&filtre_dcompra="+dcompra+"&filtre_tecnicDis="+tecnicDis+"&filtre_maquina="+maquina+"&filtre_tipus="+tipus+"&filtre_prioritat="+prioritat+"&filtre_estat="+estat;
    }
    Alguien sabe de qué puede ser?

    Ah.. lo que me sale en la URL es:
    Código:
    http://127.0.0.1:8888/Empresa%20-%20copia%20(28)/web/form_mostrar_incidencies.php?hdd_accio=M&txt_id_ma quina=&txt_data_compra=&txt_tecnic_distribuidor=se rgi&cbo_tipus_incidencia=0&cbo_estat=0&cbo_priorit at=0&x=6&y=8
    Ah, y también me salen dos campos que no tengo por ningún sitio (la "x" y la "y") que veis en la URL. No lo entiendo.

    Y por lo que veo, la x y la y van cambiando:
    x=2&y=7
    x=3&y=11

  • #2
    Cambiar es con B!!!!!!!!!!! es feo ver que alguien no use palabras completas para denotar algo y cuesta identificar que es, pero más feo es tener faltas ortográficas como esa, denotan un bajo nivel del programador.. intenta corregir eso.

    el problema es que estás enviando el formulario, o sea, se ejecuta el script y luego se envía el formulario, para evitar eso, tendrías que hacer que la función cambiarFiltroIndicencias retorne false, así el submit tendrá algo como onclick="False" y no se ejecutará el submit

    La X y Y, supongo que es la posición dónde haces clic en la imagen.. aunque solo es una suposición, tendrías que buscar sobre eso.

    Saludos.

    Comentario


    • #3
      Dragon-Black, si te fijas no es una falta de ortografía (hay personas que no programan en español).

      canviarFiltreIncidencia (catalán) == cambiarFiltroIncidencia (español)

      Así que antes de decir lo de las faltas de ortografía, primer mira si toda la frase está en español (como "Filtro" --> "Filtre").

      Ahora lo probaré, gracias por tu respuesta.
      Luna.

      Comentario


      • #4
        Bueno, lo siento.. no sé catalán.. soy latinoamericano.. y es por eso que a veces prefiero leer el código en ingles jeje.. saludos.. disculpa mi falta!

        Comentario


        • #5
          No te digo que sepas catalán, lo que te quería decir con eso, es que no todo el mundo escribe código en castellano o inglés.
          Lo digo en buen sentido, no para criticarte eh!

          Comentario


          • #6
            Vale, no hay lío, espero que soluciones el problema de javascript(aunque respondí algo tarde), si usas jquery, recomiendo preventDefault en vez de return False..

            Comentario

            Trabajando...
            X