2016-04-27 5 views
1

Ich habe Imacro-Code, wo Code zuerst das Feld mit etwas Text füllt. Ich mag füllen, nachdem Sie das Formular aus, es jeden des bereits ausgefüllten Formulars sucht einen Text zu überprüfen und, wenn sie diesen Text in jedem Feld gründen, ersetzt die Textzeichenfolge Jede sugesstion, wie dieseImacro suchen und ersetzen

Form to process

zu tun zuerst möchte ich durch das ganze Feld wiederholen und prüfen Sie nach der Zeichenfolge „stark“ (in POS 3) und POS = 3

Weiter löschen Sie die Zeichenfolge „starke“ von POS = 3

Bitte teilen eine Idee speichern wie man das macht

Antwort

2

Versuchen Sie dieses Makro:

SET textOut "strong" 
SET textIn "" 
SET !EXTRACT_TEST_POPUP NO 

TAG POS=1 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 
TAG POS=2 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 
TAG POS=3 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 
TAG POS=4 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 

SET posNum EVAL("var a = '{{!EXTRACT}}'.split('[EXTRACT]'); for (i in a) if (a[i].match(/{{textOut}}/)) break; ++i;") 

SET !EXTRACT NULL 
TAG POS={{posNum}} TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 
SET newText EVAL("'{{!EXTRACT}}'.replace(/{{textOut}}/g, '{{textIn}}').trim();") 
TAG POS={{posNum}} TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] CONTENT={{newText}} 

Alte Info.
ist hier ein Code einen Text in dem ersten Textfeld zu ersetzen:

SET textOut "abc" 
SET textIn "def" 
SET !EXTRACT_TEST_POPUP NO 
TAG POS=1 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 
SET newText EVAL("'{{!EXTRACT}}'.replace(/{{textOut}}/g, '{{textIn}}');") 
TAG POS=1 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] CONTENT={{newText}} 
SET !EXTRACT NULL 

Für andere Felder nur die Nummer des POS Parameters ändern.


Um die Positionsnummer zu definieren, können Sie den folgenden Block einstellen:

SET curPos 1 
TAG POS={{curPos}} TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT 
SET posNum EVAL("('{{!EXTRACT}}'.match(/{{textOut}}/)) ? {{curPos}} : 'NULL';") 
PROMPT {{posNum}} 
+0

Dank Freund. Ist es möglich, die POS-Nummer zu verfolgen, in der der gewünschte Text vorkommt? Es unterstützt nicht, wenn ich sonst verwirrt bin. –

+0

Sie können 'if/else' Anweisungen im Befehl 'EVAL' verwenden. Siehe das Update. – Shugar

+0

Lieber Freund, danke. Wenn ich vier Textfelder mit POS = 1,2,3,4 habe. Läuft curPos durch alle Kassen oder nicht? . Bitte lassen Sie mich wissen, dass ich nicht gut im Imacro bin. Zuerst möchte ich über die POS, wo die gewünschte Zeichenfolge vorhanden ist, verfolgen und dann durch alle POS durchlaufen, um die gewünschte Zeichenfolge zu löschen. Endlich werde ich die POS-Nummer verwenden, wo die gewünschte Zeichenfolge ursprünglich vorhanden war. –