Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi char in Webbrowser suchen und ersetzen ? (https://www.delphipraxis.net/116082-char-webbrowser-suchen-und-ersetzen.html)

taktaky 23. Jun 2008 09:50


char in Webbrowser suchen und ersetzen ?
 
Hallo

mein Formular besteht aus einigen Felder
manch mal tippen die User, wenn sie das Formular ausfüllen, Buchstaben wie
ß,ö, ... ein, was leider bei mir nicht gewünscht sind

Ich möchte also vordem Senden des Formulars eine Schleife einbauen, die nach bestimmte Symbole sucht und durch andere Symbole wie ss statt ß und oe statt ö ersetzt ?

das Formular befindet sich in einem Webbrowser

Delphi-Quellcode:
<html>
<head>
<title>Test1</title>
</head>
<body>
<form method="POST" action="--WEBBOT-SELF--">
   
   <table border="1" style="border-collapse: collapse" width="41%">
      <tr>
         <td width="91">Adresse</td>
         <td>
         <input type="text" name="adresse" size="20" value="blabla Straße 1"></td>
      </tr>
      <tr>
         <td width="91">Ort</td>
         <td><input type="text" name="ort" size="20" value="Köln"></td>
      </tr>
      <tr>
         <td width="91"></td>
         <td></td>
      </tr>
   </table>
   

<input type="submit" value="Absenden" name="senden"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>
</body>
</html>
Wie kann ich nach Strings in alle Felder suchen und ersetzen ?

grß

mkinzler 23. Jun 2008 10:14

Re: char in Webbrowser suchen und ersetzen ?
 
Ich würde da eher JS einsetzen.

taktaky 23. Jun 2008 17:24

Re: char in Webbrowser suchen und ersetzen ?
 
Zitat:

Zitat von mkinzler
Ich würde da eher JS einsetzen.

versucht, habe ich mit dem Code, aber macht es nicht :
Code:
<html>

<head>

<title>Test</title>
</head>

<body>
<script type="text/javascript">
var str = document.getElementsByName("ort")[0].value;
str = str.replace("ö", "oe");
document.getElementsByName("ort")[0].value = str;

</script>

<form>


<INPUT NAME="ort" SIZE="20" value="köln"></p>
</form>

</body>

</html>

DeddyH 23. Jun 2008 17:39

Re: char in Webbrowser suchen und ersetzen ?
 
Was soll denn hier zurückgegeben werden?
Code:
document.getElementsByName("ort")[0].value;

taktaky 23. Jun 2008 18:01

Re: char in Webbrowser suchen und ersetzen ?
 
Zitat:

Zitat von DeddyH
Was soll denn hier zurückgegeben werden?
Code:
document.getElementsByName("ort")[0].value;

das neue String str was sonst? :mrgreen:

DeddyH 23. Jun 2008 18:03

Re: char in Webbrowser suchen und ersetzen ?
 
1. AFAIK heißt das getElementByName() (also ohne "s")
2. Wozu die [0]?

Ich bin absolut nicht fit in JS, aber so scheint mir das ziemlicher Blödsinn zu sein.

taktaky 23. Jun 2008 18:07

Re: char in Webbrowser suchen und ersetzen ?
 
Zitat:

Zitat von DeddyH
1. AFAIK heißt das getElementByName() (also ohne "s")
2. Wozu die [0]?

Ich bin absolut nicht fit in JS, aber so scheint mir das ziemlicher Blödsinn zu sein.

aber google sagt anderes : Meinten Sie: document.getelementsbyname :|

Fussball-Robby 23. Jun 2008 18:07

Re: char in Webbrowser suchen und ersetzen ?
 
Zitat:

Zitat von DeddyH
1. AFAIK heißt das getElementByName() (also ohne "s")
2. Wozu die [0]?

Ich bin absolut nicht fit in JS, aber so scheint mir das ziemlicher Blödsinn zu sein.

Nein, es ist kein Blödsinn. Soweit ich weiß, kann GetElementsByName auch mehrere Elemente zurückliefern, da mehrere Elemente den selben Namen haben können. Mit dem [0] wird auf das erste Element mit dem Namen zugegriffen.

DeddyH 23. Jun 2008 18:12

Re: char in Webbrowser suchen und ersetzen ?
 
Dann lässt man sich mit Alert() mal ausgeben, was da ankommt.

taktaky 23. Jun 2008 18:21

Re: char in Webbrowser suchen und ersetzen ?
 
Zitat:

Zitat von DeddyH
Dann lässt man sich mit Alert() mal ausgeben, was da ankommt.

Meinst Du die Kunden mit PopUp Fenster erschrecken ? :mrgreen:
Das ist aber keine alternative :|

der javascript ist schon ok aber bei mir beim testen erscheint eine Fehlermeldung :
document.getElementsByName[...].value ist null oder kein Objekt !!!

DeddyH 23. Jun 2008 18:24

Re: char in Webbrowser suchen und ersetzen ?
 
Debuggst Du beim Kunden?

taktaky 23. Jun 2008 19:00

Re: char in Webbrowser suchen und ersetzen ?
 
anyway, hier ist die Lösung :lol:
Ich möchte aber gerne nicht nur in ein Feld suchen sondern in den gesamten html Code in Webbrowser, ohne den Feld-Namen eingeben zu müssen

Code:
<html>
<head>
</head>

<body>

<form enctype="multipart/form-data">
<input type="text" name="ort" value="köln" size="30">
</form>

<script type="text/javascript">
var str = document.getElementsByName("ort")[0].value;
str = str.replace("ö", "oe");
document.forms[0].elements['ort'].value = str;
</script>
</body>

</html>

marabu 23. Jun 2008 20:31

Re: char in Webbrowser suchen und ersetzen ?
 
Hallo,

hole dir alle Eingabefelder mit getElementsByTagname('input') und iteriere über die Liste.

Grüße vom marabu

taktaky 23. Jun 2008 23:10

Re: char in Webbrowser suchen und ersetzen ?
 
Gute Idee
Es hat geklappt. Aber ich kann nur das erste gefundene String ersetzen
Code:
<html>
<head>
</head>

<body>

<form>
<input type="text" name="name" value="Böhn" size="30">




<input type="text" name="ort" value="Köln" size="30"></p>
</form>



</p>

<script type="text/javascript">
var str = document.getElementsByTagName('body')[0].innerHTML;
document.getElementsByTagName('body')[0].innerHTML = str .replace("ö","oe");

</script>


</body>

</html>
Wie kann ich den Code mit eine i Schleife ändern damit er alle suchen und ersetzen ?
ich so versucht aber bekommme ich Fehler :

Code:
<script type="text/javascript">
var str = document.getElementsByTagName('body');
document.getElementsByTagName('body')= str .replace("ö","oe");
</script>


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz