Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:tim:smartform:copy_on_change [2014/01/30 12:44] neven.micanovic |
software:tim:smartform:copy_on_change [2021/07/01 09:52] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Inhalt eines input-Feldes in einen href kopieren ======= | + | ====== Inhalt eines input-Feldes in einen Link umwandeln ======= |
- | + | ||
- | {{ :software:tim:smartform:onchangehref.png?200|}}[[software:tim:prozessvariablen | Prozessvariable]] | + | Mit dieser Funktion ist es möglich, die Eingabe aus einem Input-Feld in einen Link umzuwandeln und diesen nachfolgenden T!M-Anwendern zur Verfügung zu stellen. |
- | Mit dieser Funktion ist es möglich die Eingabe aus einem Input-Feld, per jQuery-onChangeMethode, als Link darzustellen. | + | |
Hierfür muss in der Smartform die initMethode angegeben werden, welche in der custom.js aufgerufen wird. | Hierfür muss in der Smartform die initMethode angegeben werden, welche in der custom.js aufgerufen wird. | ||
Zeile 11: | Zeile 10: | ||
<tr> | <tr> | ||
<td> | <td> | ||
- | <input type="text" name="input_pfadangebot" class="input_pfadangebot" id="input_pfadangebot" /> | + | <input type="text" name="input_pfad" class="input_pfad" id="input_pfad" /> |
</td> | </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td> | ||
- | <a href="" target="_blank" name="lnk" id="lnk" style="text-decoration:none;"></a> | + | <a target="_blank" name="link" id="link" style="text-decoration:none;"/> |
</td> | </td> | ||
</tr> | </tr> | ||
Zeile 23: | Zeile 22: | ||
</code> | </code> | ||
- | Nun muss in der custom.js diese initMethode angelegt werden. Daraufhin muss jq eingebunden werden, auf das input-Feld die onChange-Methode gelegt werden und die Eingabe an den Link (ahref) übergeben werden. | + | Nun muss in der custom.js diese initMethode angelegt werden. Darin muss jq eingebunden werden, die onChange-Methode auf das input-Feld gebunden werden und die Eingabe an den Link übergeben werden. Zusätzlich wird in der Funktion überprüft, ob die Eingabe bereits 'http:/ / ' oder 'https:/ /' enthält. Falls dies nicht zutrifft, wird dem Link "http:/ /" vorangestellt (ohne Leerzeichen zwischen den Schrägstrichen). |
<code> | <code> | ||
gadget.functions.initChangeHref=function(){ | gadget.functions.initChangeHref=function(){ | ||
- | jq= (this.form.ownerDocument.defaultView!=null) ? this.form.ownerDocument.defaultView.jQuery : | + | jq= (this.form.ownerDocument.defaultView!=null) ? this.form.ownerDocument.defaultView.jQuery : this.form.ownerDocument.parentWindow.jQuery; |
- | + | window['entity'] = this.entity; | |
- | this.form.ownerDocument.parentWindow.jQuery; | + | |
- | + | jq('#input_pfad').change(function(){ | |
- | jq('#input_pfadangebot').change(function(){ | + | var atag= jq("#link")[0]; |
- | + | if(this.value.indexOf('http://')==-1 && this.value.indexOf('https://')==-1){ | |
- | var atag= jq("#lnk")[0]; | + | atag.href = 'http://' + jq.trim(this.value); |
- | atag.innerHTML = this.value; | + | atag.innerHTML = atag.href; |
- | atag.href="https://" + this.value; | + | window['entity'].setValue(atag.id, 'http://' + jq.trim(this.value)); |
- | }); | + | |
+ | } | ||
+ | else{ | ||
+ | atag.href = jq.trim(this.value); | ||
+ | atag.innerHTML = atag.href; | ||
+ | window['entity'].setValue(atag.id, jq.trim(this.value)); | ||
+ | } | ||
+ | window['entity'].setValue(this.id, this.value); | ||
+ | window['entity'].mergeLocal(true); | ||
+ | }); | ||
} | } | ||
</code> | </code> |