Functii, variabile si onkeyup
Last Updated: Dec 02 2017 15:54, Started by
xxvirusxx
, Dec 01 2017 20:20
·
0
#1
Posted 01 December 2017 - 20:20
Incerc sa modific un script si am o nelamurire
<script> function softpedia(textbox) { varX = "mesajX"; varY = "mesajY"; varZ = document.getElementByID('input-nume').value document.getElementById('input-mesaj').value = varX + "-" + varY + "-" + varZ; } </script> si 2 input-uri: <input type="text" name="functii".............. onkeyup="softpedia"(this) /> <input type="text" name="nume".............. onkeyup="softpedia"(this) /> Sa zicem ca nume=virus De ce la completarea campului "nume" nu-mi afiseaza: mesajX-mesajY-virus si imi modifica in mesajX-virus-virus Oare pentru varZ sa fac alta functie de onekeyup? Am incercat si asa si nu merge: <script> function softpedia(textbox) { varX = "mesajX"; varY = "mesajY"; document.getElementById('input-mesaj').value = varX + "-" + varY + "-" + varZ; function softpedia2(textbox) { varZ = document.getElementByID('input-nume').value } } </script> si la input: <input type="text" name="nume".............. onkeyup="softpedia2"(this) /> Ms Edited by xxvirusxx, 01 December 2017 - 20:27. |
#2
Posted 01 December 2017 - 20:46
1. document.getElementByID trebuie să fie document.getElementById
2. Nu sunt sigur că sintaxa "softpedia2"(this) este corectă. 3. Ai setat id-urile cum trebuie dacă folosești getElementById? <script type="application/javascript"> function softpedia(textbox) { varX = "mesajX"; varY = "mesajY"; varZ =document.getElementById('nume').value document.getElementById('mesaj').value = varX + "-" + varY + "-" + varZ; } </script> <input type="text" id="mesaj" onkeyup="softpedia(this)" /> <input type="text" id="nume" onkeyup="softpedia(this)" /> |
#3
Posted 01 December 2017 - 21:00
1. Asa am scris, dar am gresit aici
2. Era un exemplu...poftim : function vasile.....si onkeyup="vasile(this)" 3. Da sunt setate. |
#4
Posted 01 December 2017 - 21:03
Încearcă să pui var la variabilele din funcție.
var varX = ... var varY = ... etc Îmi sună a problemă de scope. Poți folosi debugger-ul din browser să vezi exact cum funcționează. Edited by tavitu, 01 December 2017 - 21:10. |
#6
Posted 01 December 2017 - 21:59
Asa arata scriptul:
<script> function sync(textbox) { var titlesi = textbox.value; var mesaj = "mesaj"; var model = document.getElementById('input-model').value var seoURL = titlesi.replace(/\s+/g, '-') // collapse whitespace and replace by - .replace(/-+/g, '-'); // collapse dashes var from = "·/_,:;öçşığüÖÇŞİĞÜ"; var to = "------ocsiguOCSIGU"; for (var i=0, l=from.length ; i<l ; i++) { seoURL = seoURL.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i)); } seoURL = seoURL.toLowerCase(); metaTags = titlesi.replace(/\s+/g, ', '); // collapse whitespace and replace by , document.getElementById('input-meta-title1').value = textbox.value; document.getElementById('input-meta-description1').value = textbox.value; document.getElementById('input-meta-keyword1').value = metaTags; document.getElementById('input-tag1').value = metaTags; document.getElementById('input-keyword').value = mesaj + "-" + seoURL + "-" + model; } </script> cele 2 input-uri: <input type="text" name="product_description[<?php echo $language['language_id']; ?>][name]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name<?php echo $language['language_id']; ?>" class="form-control" onkeyup="sync(this)" /> <input type="text" name="model" value="<?php echo $model; ?>" placeholder="<?php echo $entry_model; ?>" id="input-model" class="form-control" onkeyup="sync(this)" /> Cand se completeaza campul "model", inlocuieste si "seoURL", probabil din cauza functiei sync, care se regaseste la ambele input-uri. @MarianG Un mic exemplu? Edited by xxvirusxx, 01 December 2017 - 22:04. |
#7
Posted 02 December 2017 - 11:34
Am schimbat asa, dar nu inteleg de ce nu adauga si "model", cand valoarea campului >0 caractere
<script> function sync(textbox) { var titlesi = textbox.value; var mesaj = "Mesaj"; var seoURL = titlesi.replace(/\s+/g, '-') // collapse whitespace and replace by - .replace(/-+/g, '-'); // collapse dashes var from = "·/_,:;öçşığüÖÇŞİĞÜ"; var to = "------ocsiguOCSIGU"; for (var i=0, l=from.length ; i<l ; i++) { seoURL = seoURL.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i)); } seoURL = seoURL.toLowerCase(); metaTags = titlesi.replace(/\s+/g, ', '); // collapse whitespace and replace by , document.getElementById('input-meta-title1').value = textbox.value; document.getElementById('input-meta-description1').value = textbox.value; document.getElementById('input-meta-keyword1').value = metaTags; document.getElementById('input-tag1').value = metaTags; document.getElementById('input-keyword').value = mesaj + "-" + seoURL; } function sinc(textbox) { var model = document.getElementById('input-model').value var SEO = document.getElementById('input-keyword').value if(SEO.length>0) { document.getElementById('input-keyword').value = + model; } } </script> |
#8
Posted 02 December 2017 - 15:54
https://jsfiddle.net/ introdu aici htmlul si jsul necesar pentru a putea reproduce problema. Usurezi mult munca celor ce doresc sa te ajute.
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users