Autor Zpráva
kuzmic
Profil
Dobrý den,

chtěl bych požádat o pomoc. Snažím se pomocí jQuery a php získat data z databáze. Pokud použiji událost .click() vše jede v pořádku, data bezproblému získám. Jakmile se odeslání requestu pokusím udělat přes tlačítko enter, skript žádná data nevrátí. Nevíte kde může být problém?

Předem moc díky za jakékoli rady a pomoc.

<script type="text/javascript">


$(document).ready(function(){
						   
	
	$(".submit").click(function(){
													
		$.post('data.php',{ name: document.form.name.value },
			   
		function(output){
														  
			$('#age').html(output).show();
														  
		});
													
	});						   
	
	
	$(".name").keypress(function(e) {
    	if(e.which == 13) {
        
		//alert('You pressed enter!');

		$.post('data.php',{ name: (this).val() },
			
			function(output){
				  
				  //console.log(name);
				  
				  $('#age').html(output).show();
				  
			});
			
		}
	});
	
					   
});


    
</script>
    
</head>

<body>

	<h1>Heslovník</h1>

   
    <form name="form" id="form">
    
        <table>
            <tr>
                <td>Jméno projektu:</td><td><input type="text" class="name" name="name" value="" /></td><td><input type="button" name="submit" class="submit" value="Odeslat" /></td>
            </tr>
        </table>
    </form>
    
    <div id="age"></div>
    
    
</body>
Kajman_
Profil *
Při enteru bude lepší odchytávat událost submit toho formuláře.
Chamurappi
Profil
Reaguji na kuzmice:
Nevíte kde může být problém?
Enter nemusí vyvolávat událost onkeypress.
Jinak viz Kajman, jdeš na to zbytečně složitě.
_es
Profil
kuzmic:
<input type="text" class="name" name="name"
<input type="button" name="submit" class="submit"
To nie je dobrá voľba hodnoty atribútu name, zvoľ radšej niečo rozumnejšie.
kuzmic
Profil
Děkuji za reakce. Zkusil jsem podle rady submit. Již to funguje. Ale není mi moc jasný ta kontrukce, kterou jsem to dosáhl. Do funce jsem vepsal return false a najednou to jede + teda ten submit jsem upravil. Mohl by mi to prosím někdo objasnit? Předem moc díky.


<script type="text/javascript">


$(document).ready(function(){
						   
	
	$(".submit").click(function(){
													
		$.post('data.php',{ name: document.form.name.value },
			   
		function(output){
														  
			$('#age').html(output).show();
														  
		});
													
	});						   
	
	
	$("form").submit(function() {

		return false;

	});
	
					   
});


    
</script>
    
</head>

<body>

	<h1>Heslovník</h1>

   
    <form name="form" id="form">
    
        <table>
            <tr>
                <td>Jméno projektu:</td><td><input type="text" class="name" name="name" value="" /></td><td><input type="submit" name="submit" class="submit" value="Odeslat" /></td>
            </tr>
        </table>
    </form>
    
    <div id="age"></div>

Radek9
Profil
Nemělo by to být spíš takto?
$(document).ready(function(){
  $("#form").submit(function(){
    $.post("data.php", {name: document.form.name.value},
    function(output){ 
      $("#age").html(output).show();
    });
    return false;
  });
});
Pokud chceš odchytávat i enter, tak by tvoje řešení nefungovalo.
Darker
Profil
Já to měl v chatu takhle: (řešení bez formuláře)
function presend(event,elm){
   if(event.shiftKey){return true};   //Shift+enter dělá nový řádek, jak je v IM zvykem, to asi tazatel nepotřebuje
    if(window.event) {  //IE
        if (window.event.keyCode == 13)
        {
         sendchat(elm.value);
         elm.value="";
         return false;   
        }
    }
    else if(event.which==13) {sendchat(elm.value);elm.value="";return false;}   //Ostatní


}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0