Heb een textarea. Controleer die of er iets is ingevuld. Zo ja verwerk ik hem anders niet. Wat doe ik nu als iemand b.v 5x Enter geeft. Tekstvak is dan leeg maar verwerkt hem toch wat natuurlijk niet de bedoeling is.
Gr.Edje
wow, wat een probleemomschrijving ;-)
Misschien eerst alle troep trimmen met een functie zoals deze?
function trim(value) {
value = value.replace(/^\s+|\s+|\n$/,'');
return value;
}
(let wel, dit is dus via Javascript testen VOOR het posten)
Gewijzigd op 01/01/1970 01:00:00 door
Rens nvtJe kunt ook checken met een regex of de waarde in het textarea op zijn minst alfanumerieke tekens bevat:
@Rens Admiraal
trim is gewoon een standaard php functie.
@TS
Code (php)
1
2
3
4
5
6
7
8
9
10
11
<?php
[/code]$tekst = trim($tekst);
if ($tekst == '')
{
// geen tekst
}
else
{
// goed
}
?>
Meer informatie over trim:
trim@webmakerij: Heb de tekst al getrimt. Als je op Enter drukt gaat de verwerking toch z'n gang.
@jan: ga het eens proberen.
@Webmakerij: I know, post aangepast
Volgens mij is de vraag of het formulier wel of niet verwerkt moet worden, dus voor de submit actie... Tenminste, heb daar mijn antwoord op gemaakt ;-)
zelf vin ik het een beetje een dom antwoord, maar misschien werkt het toch:
Code (php)
1
2
3
4
5
6
7
<?php
$textarea=$_POST[textarea];
$controle0=trim($textarea);
$controle1=str_replace(" ","",$textarea);
if($controle0!="" && $controle1!="") echo "Bericht is ok";
else echo "Bericht is leeg";
?>
Krijg toch een error Jan
if (preg_match ('/[:alnum:]/'), ($_POST['tekst']))
Parse error: syntax error, unexpected ',' in C:\Server\wamp\www
hmm.. en als je het eens als 1 functie doet:
Code (php)
1
2
3
4
5
<?php
if (preg_match ('/[:alnum:]/', $_POST['tekst']))
{
// ...
?>
zal een stuk beter werken..
je moet het ) voor de komma weghalen
Het is al opgelost. Of ik was niet duidelijk in de vraag of jullie hebben het verkeerd begrepen. Ik heb een textarea. Indien je op de submitknop klikt en het vak is leeg mag er niet verzonden worden. Dit gebeurde ook niet als ik niets invulde. (dmv trim). Nu zette ik de cursor bij toeval in het tekstvak en Enterde een paar keer. Dit zag "hij" als NIET LEEG en begon te verzenden bij submit wat ik natuurlijk niet wilde.
Oplossing voor de liefhebbers: if (strlen(trim($_POST['tekst'])) == 0)
Iedereen bedankt