Jump to content
  • 0

CWP Zoeken op apestaartje


rgaros

Question

Lezers,

 

Graag jullie hulp bij het volgende. Moet via CWP FMSA7 zoeken op een gebruikersnaam die mogelijk een @ teken bevat, via een input veld dus niet vast gecodeerd.

 

De technieken die destijds in CDML gebruikt konden worden werken echter niet. En de methode die in FM Knowledgbase artikel 5266 wordt gegeven, werkt alleen voor vast gecodeerde zoekacties, niet met input velden.

 

Wie heeft er een tip?

 

Groet,

René

Link to comment

7 answers to this question

Recommended Posts

  • 0

Hallo Jeroen,

 

Veronderstellend dat je een tranfomatie uitvoert met XSLT, kan je de XPath functie 'contains(string,string)' gebruiken, waarvan het resultaat waar is indien de 2de string in de 1ste voorkomt.

 

Als is het goed begrijp vergelijkt die functie alleen twee teksten die al bekend zijn. Ik probeer echter vanuit een .xsl bestand te zoeken in een bepaald FM veld naar een tekst die mogelijk een apestaart bevat. In de normale Blader modus zou dat b.v. info\@reneros.biz zijn als ik naar info@reneros.biz wil zoeken. Een gebruiker voert in het input veld zijn/haar e-mail adres in, en die wil ik dan zoeken en vinden.

 

Groet,

René

Link to comment
  • 0

... Poor me, ik had begrepen dat je het omgekeerde wou doen ... :?

 

Het probleem met CWP met XSLT is dat je - in tegenstelling tot CDML vroeger - data uit je velden op je HTML form niet zomaar aan de FileMaker WPE kunt doorgeven. Een simpele submit van een formulier met POST of GET werkt dus niet. Toch niet voor zover mijn kennis van CWP met XSLT reikt.

 

Je zal dus via een client-side script (Javascript bv.) op de getoonde pagina de veldinhoud moeten ophalen, deze in een variabele opslaan en dan scriptmatig je URL construeren zoals je een voorbeeld vindt in het door jouw aangehaalde artikel.

 

Nota bene: mogelijk moet je de apestaart met %40 URL-encoderen

 

Veel geluk, Jeroen

Link to comment
  • 0

Wel,

 

Zoals ik zei, zo'n expert ben ik niet op het vlak van CWP-XSLT. Maar na enig napluizen van de XSLT Starter Solution http://www.filemaker.com/downloads/misc/xslt_starter_solution_fmsa.zip blijkt hetgeen ik in mijn vorige mail beweerde niet te kloppen.

 

Je kan wel degelijk HTML forms gebruiken op de oude wijze, waarbij je de URL query parameters gewoon in de form input elements stopt. Hieronder een voorbeeld:

 

...

 

 

 

 

...

 

[FMPfieldName] is dan de exacte veldNaam zoals die voorkomt in je database en waarop je dus wil zoeken.

[stylesheet] is de naam van de stylsheet die iets doet met het resultaat.

[grammar] is best "fmresultset"

 

Groeten, Jeroen

Link to comment
  • 0
Je kan wel degelijk HTML forms gebruiken op de oude wijze, waarbij je de URL query parameters gewoon in de form input elements stopt.

 

Dat was me bekend en tot zover was ik ook gekomen. Op deze wijze een inlogscherm gemaakt waarmee op gebruikersnaam en wachtwoord gezocht kan worden. Sommige gebruikers nemen hun e-mail adres als gebruikersnaam en op de @ kan niet gezocht worden.

 

Met JavaScript, zoals hier gesuggereerd, heb ik het inmiddels opgelost.

 

In de FORM tag kan bij de onSubmit attribute dit stukje JavaScript geplaatst worden:

 

..value = ..value.replace(/@/gi, '\\@');

 

Die vervangt alle @ door \@ zodat het e-mail adres gezocht en gevonden wordt door FM.

Aldoende bleek dat in JavaScript de \ een speciale betekenis heeft en dubbel geplaatst moet worden om het als teken te krijgen...

 

Groet,

René

Link to comment
  • 0
Bedankt voor de tip René. Deze zoektocht heeft ook mij een en ander bijgebracht. :D8)

 

Jij ook bedankt. Soms is het al voldoende om je ideeen uit te spreken en al doende dingen te realiseren. Maar als er iemand klankbord met tegengas is: nog beter!

 

Groet,

René

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...