textarea en ENTER

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ed Wisseborn

Ed Wisseborn

21/08/2007 21:47:00
Quote Anchor link
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
 
PHP hulp

PHP hulp

29/03/2024 12:01:15
 
Rens nvt

Rens nvt

21/08/2007 21:54:00
Quote Anchor link
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 nvt
 
Jan Koehoorn

Jan Koehoorn

21/08/2007 21:57:00
Quote Anchor link
Je kunt ook checken met een regex of de waarde in het textarea op zijn minst alfanumerieke tekens bevat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    if (preg_match ('/[:alnum:]/'), $tekst) {
        // okee
    }
?>
 
Ed Wisseborn

Ed Wisseborn

21/08/2007 21:58:00
Quote Anchor link
Dus trim($tekst,"\r")
 

21/08/2007 22:01:00
Quote Anchor link
@Rens Admiraal
trim is gewoon een standaard php functie.

@TS
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
 
Ed Wisseborn

Ed Wisseborn

21/08/2007 22:03:00
Quote Anchor link
@webmakerij: Heb de tekst al getrimt. Als je op Enter drukt gaat de verwerking toch z'n gang.

@jan: ga het eens proberen.
 
Rens nvt

Rens nvt

21/08/2007 22:04:00
Quote Anchor link
@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 ;-)
 
Aron K

Aron K

21/08/2007 22:07:00
Quote Anchor link
zelf vin ik het een beetje een dom antwoord, maar misschien werkt het toch:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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";
?>
 
Ed Wisseborn

Ed Wisseborn

21/08/2007 22:10:00
Quote Anchor link
Krijg toch een error Jan

if (preg_match ('/[:alnum:]/'), ($_POST['tekst']))

Parse error: syntax error, unexpected ',' in C:\Server\wamp\www
 
Mark L

Mark L

21/08/2007 23:50:00
Quote Anchor link
hmm.. en als je het eens als 1 functie doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (preg_match ('/[:alnum:]/', $_POST['tekst']))
{

// ...
?>


zal een stuk beter werken..
 
Stefan

Stefan

21/08/2007 23:53:00
Quote Anchor link
je moet het ) voor de komma weghalen
 
Ed Wisseborn

Ed Wisseborn

22/08/2007 17:08:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Ed Wisseborn
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.