Hoi iedereen,

Ik heb een vraag.

Ik heb een chat.html met dit code erin:
<input type="text" id="name" name="name" style="width: 600px;" maxlength="256" value="Annoniem"/>
<div id="chatwindow" style="display:block; width: 600px; height: 400px; overflow: scroll;">
</div><br/>
<input type="text" id="chattext" name="chattext" onKeyPress="hasvalue(this.value);" onChange="hasvalue(this.value);" maxlength="256" style="width: 450px; "/>
<input type="submit" id="submitbutton" onMouseDown="javascript: say(document.getElementById('chattext').value);document.getElementById('chattext').value = '';" value="Say!" style="width:150px; " disabled />


Er staat geen form en zo erin dus je moet op de knop drukken voordat het forumulier het verzend.

Kan het ook anders??
Edit: Want het is veel lekkerder als je op de enter klikt


ik dacht iets met dit (Jelmer`s script)

function init()
{
var inputObject = document.getElementById('invulformulier');
addEvent(inputObject, 'keyup', geefOverbodigeInformatie);
return;
}
function geefOverbodigeInformatie(e)
{
if(e.keyCode == 13)
{
alert('Jij grapjas, jij drukte op enter!');
}
//voor meer keycodes, probeer eens alert(e.keyCode);
return;
}
addEvent(window, 'load', init);


En dan als er enter wordt gedrukt dat ie het zend, zo iets :S (maar het lukt niet)
ik weet het niet, maar de chat in het scriptlibery op deze site heeft dat wel
waar staat ie? dan gebruik ik dat, beter :D

Edit: Ik kan het niet vinden
<input name="submit" type=submit value='Login'>
Werkt bij mij gewoon hoor?
Al staat er slechts een of meer dan 300 veldjes het werkt gewoon hoor?
Name invoeren wellicht?
Dan heb je form of zo staan? toch??

Dit is het helle bestand:


<script>
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
timer = 6000; //iedere 5 seconden refreshen

function say(value)
{
	name = document.getElementById('name').value;
	xmlhttp.open("GET", "chat.php?text="+value+"&name="+name,true);//method, target, async (set always true!)
	
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			document.getElementById('chatwindow').innerHTML = xmlhttp.responseText;
		}
	}
	
	xmlhttp.send(null);
	timer = 6000;
	counter();
}

function update()
{
	xmlhttp.open("GET", "chat.php",true);//method, target, async (set always true!)
	
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			document.getElementById('chatwindow').innerHTML = xmlhttp.responseText;
		}
	}
	
	xmlhttp.send(null);
	timer = 6000;
	counter();
}

function counter()
{
	if(timer == 0)
	{
		update();
	}
	else
	{
		timer = timer - 1000;
		setTimeout("counter()", 1000);
	}
}

function hasvalue(value)
{
	if(value != "")
	{
		document.getElementById('submitbutton').disabled = false;
	}
	else
	{
		document.getElementById('submitbutton').disabled = true;
	}
}
</script>
<input type="text" id="name" name="name" style="width: 600px;" maxlength="256" value="Annoniem"/>
<div id="chatwindow" style="display:block; width: 600px; height: 400px; overflow: scroll;">
</div><br/>
<input type="text" id="chattext" name="chattext" onKeyPress="hasvalue(this.value);" onChange="hasvalue(this.value);" maxlength="256" style="width: 450px; "/>
<input type="submit" id="submitbutton" onMouseDown="javascript: say(document.getElementById('chattext').value);document.getElementById('chattext').value = '';" value="Say!" style="width:150px; " disabled />
<script>
	update()
</script>


Kan iemand me a.u.b. helpen, ik weet echt niet hoe ik dit moet doen :(:(:(
Ik weet niet of dit al is opgelost maar ik denk het volgende:

<form>
<input type="text" name="tekstvak" value="x">
<input type="submit" name="submitbutton" value="y">
</form>

Als je dit gebruikt en je klikt in het tekstvak op enter dan verstuurt
hij automatisch het formulier maar niet de gegevens van de submit button.
Je kan nu niet de inhoud van de submitbutton opvragen met $_POST['submitbutton'], in javascript zal het probleem soort gelijk zijn.
Oplossing voor php:
<form>
<input type="hidden" name="submitbutton" value="y">
<input type="text" name="tekstvak" value="x">
<input type="submit" name="submitbutton" value="y">
</form>


Of gewoon controleren binnen php met :
$_SERVER["REQUEST_METHOD"] == "POST"

Dan heb je heul geen javascript nodig.

Reageren