Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Dati un TextBox e un pulsante di submit, non far partire il submit premendo enter

    <input id="Text1" type="text" />
    <input id="Submit1" type="submit" value="submit" />


    Se non volessi far partire il submit premento ENTER nel TextBox :master: mi aiutate col codice javascript? :master:
    Pietro

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    function noEnter(e){
      e=e||window.event;
      var k=e.which||e.keyCode;
      if(k==13){
        	if(e.preventDefault) e.preventDefault();
    	else e.returnValue=false;
      }
    }
    <input id="Text1" type="text" onkeypress="noEnter(event)" />

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    function cerca_per_nome(e)
    {
        e = e || window.event;
        var k = e.which || e.keyCode;
        if(k == 13)
        {
    	    if(e.preventDefault) 
    	        e.preventDefault();
            else 
                e.returnValue = false;
        
            var target = (e.target)? e.target : e.srcElement;
            if(target.value == "")
                alert("Digitare un nome o parte di nome da ricercare.");
            else
                __doPostBack('Button_ricerca_per_nome', '');
        }
    
    
    }
    
    
    <input name="TextBox_ricerca_per_nome" type="text" value="cerca per nome" id="TextBox_ricerca_per_nome" title="Ricerca per nome o parte di nome" onkeypress="cerca_per_nome(event);" onfocus="this.value='';" />
    <input type="submit" name="Button1" value="Button" id="Button1" />
    LinkButton
    Il tuo aiuto è sempre prezioso
    Questo può essere utile quando nella pagina c'è poco spazio. Dentro un TextBox compare una scritta di spiegazione, nel mio caso "cerca per nome".
    Quando il controllo riceve il focus perde questa scritta e si può scrivere. L'enter scatena il postback al server. Se non si scrive nulla compare un messaggio di alert.

    ps. Dato che sei molto gentile, e dato che mi interessa pure capire dove sbagliavo, mostro come facevo prima.
    Nel TextBox mettevo:

    onkeydown="if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {cerca_per_nome(this);return false;} else return true; " onfocus="this.value='';"

    la funzione cerca_per_nome

    function cerca_per_nome(v)
    {
    if(v.value == "")
    {
    //alert("Digitare un nome o parte di nome da ricercare.");
    window.setTimeout(function(){alert("Digitare un nome o parte di nome da ricercare.");}, 1);
    }
    else
    {
    __doPostBack('<%#Me.Button_ricerca_per_nome.Unique Id %>', '');
    }
    }

    In principio non c'era il setTimeout
    con IE8 andava (anche con IE6 e IE7). Con Firefox no.
    Mettendo il setTimeout va pure in firefox, ma non in Opera

    Ciao
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.