Feld nach URL überprüfen

budibazi

Grünschnabel
Hallo,

hab hier ein Textfeld das sieht so aus:

Code:
<form name="form1" method="post" action="">
  <table width="50%">
    <tr>
      <td width="18%">Text:</td>
      <td width="82%"><textarea name="textarea" cols="60" rows="10"></textarea></td>
    </tr>
    <tr>
      <td height="42">&nbsp;</td>
      <td><input type="submit" name="Submit" value="Senden"></td>
    </tr>
  </table>
</form>

So nun wurde ich gerade aber überprüfen ob in dem Textfeld ein paar URL sind die man nicht verlinken darf. Das habe ich dann so gemacht:

Code:
<SCRIPT language="javaScript">
function CheckSubmit()
{
 var rueck = true;
 var forentext = document.form1.text.value;
 var Ergebnis;  
 
  
 if(document.form1.text.value == "") {
   alert("Bitte einen Text eingeben!");
   document.form1.text.focus();
   rueck = false;
   return false;
 }  
 
  
   Ergebnis = forentext.search(/giga.de/);
   
  if(Ergebnis != -1){
      alert("Die im Beitrag angegebene Internetadresse giga.de ist nicht zulässig\n Der Betreiber der Website hat uns die Verlinkung auf Inhalte seiner Seite untersagt.");
	  rueck = false;
	  return false;
  }

Hmm aber wie kann ich diese Funktion nun dem Feld anfügen also dass das auch geht? Hmm ich komme da echt nicht weiter. Währe lieb, wenn mir da jemand helfen könnte.
 
Hallo,

ok hab es nun mal so gemacht:

Code:
<script type="text/javaScript">

function CheckSubmit(form)
{
if (!form.post.value) {
alert("Bitte einen Text eingeben!");
form.post.focus();
return false;
}
else if( form.post.indexOf('giga.de.de') != -1)
{
alert("Die Seite darfst du leider nicht verlinken. Dieses wurde vom Betreiber untersagt.");
return false;
}

return true;
}
</script>

Das Formular sieht nun so aus:

Code:
<form name="form1" method="post" action="save.php" onsubmit="return CheckSubmit(this)">
  <table width="59%"  border="0">
    <tr>
      <td width="20%"><strong>Text:</strong></td>
      <td width="80%"><textarea name="post" cols="80" rows="15" wrap="physical" class="chatfields_tall" id="post"></textarea></td>
    </tr>
    <tr>
      <td height="38">&nbsp;</td>
      <td>	              <input name="Submit" value="Beitrag speichern" class="chatfields" type="submit"> 
</td>
    </tr>
  </table>
</form>

Der Text wird nun überprüft ob ich was eingegeben habe aber warum geht das denn nicht mit der URL? Was mache ich da denn falsch?
 
Code:
form.post
ist ein Zeiger auf das Formularfeld. Wenn du den Inhalt dessen überprüfen willst, musst du den Wert des Formularfeldes ansprechen:
Code:
else if( String(form.post.value).indexOf('giga.de.de') != -1)
 
Hallo,

hmm ich verstehe gerade nicht wie du das meinst? Wie muss ich das denn ansprechen? Kannst du mir das mal bitte sagen?
 
Sorry aber ich verstehe es gerade immer noch net ganz. Das was du mir gerade geschrieben hast, das muss dann hier hin oder?

Code:
<textarea name="post" cols="80" rows="15" wrap="physical" class="chatfields_tall" id="post"></textarea>
 
Sven Mintel hat gesagt.:
Code:
else if( String(form.post.value).indexOf('giga.de.de') != -1)
...das muss natürlich in deine Funktion... die Stelle sollte sich doch wohl finden lassen... da ist schliesslich nur 1 "else if{...}" drinnen :rolleyes:
 
HuHu,

danke dir hab es nun hin bekommen. Aber eine Frage habe ich noch. Wenn ich jetzt mehrere URLs hätte dann musste ich das so machen oder?

Code:
else if( String(form.post.value).indexOf('giga.de') != -1)
{
alert("Die Seite darfst du leider nicht verlinken. Dieses wurde vom Betreiber untersagt.");
return false;
}
else if( String(form.post.value).indexOf('rtl.de') != -1)
{
alert("Die Seite darfst du leider nicht verlinken. Dieses wurde vom Betreiber untersagt.");
return false;
}

usw.....

Stimmt das denn so?
 
Jo, das stimmt so.
Wenn zu erwarten ist, dass da viele URLs uf dich zukommen, wäre deine erste Variante mit dem search() sinnvoller... da kannst du alle URLs in einem Rutsch prüfen.
 

Neue Beiträge

Zurück