Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
I-auziti voi! - nu vor romani...

Colon iritabil

Perioada de gratie inexistenta

Cel mai ieftin TV LED mic
 Reverse proxy si htaccess pe Raps...

Statie de epurare sau fosa septic...

"enerlux p" afisaj interm...

Adaptor usb3.1gigabit vs Adaptor ...
 La multi ani @Atreides!

La multi ani @KENSINGTON!

La multi ani @burebista!

La multi ani de Florii!
 Stihl fs 70 c-e

Challengers (2024)

Care mai sunt mediile de admitere...

Laptop cu HDD atasare memorie MMC...
 

Functii, variabile si onkeyup

- - - - -
  • Please log in to reply
7 replies to this topic

#1
xxvirusxx

xxvirusxx

    Retired

  • Grup: Senior Members
  • Posts: 13,441
  • Înscris: 11.11.2005
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
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
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
xxvirusxx

xxvirusxx

    Retired

  • Grup: Senior Members
  • Posts: 13,441
  • Înscris: 11.11.2005
1. Asa am scris, dar am gresit aici
2. Era un exemplu...poftim : function vasile.....si onkeyup="vasile(this)"
3. Da sunt setate.

#4
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
Î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.


#5
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
De ce onkeyup si nu alt event?

#6
xxvirusxx

xxvirusxx

    Retired

  • Grup: Senior Members
  • Posts: 13,441
  • Înscris: 11.11.2005
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? Posted Image

Edited by xxvirusxx, 01 December 2017 - 22:04.


#7
xxvirusxx

xxvirusxx

    Retired

  • Grup: Senior Members
  • Posts: 13,441
  • Înscris: 11.11.2005
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
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
https://jsfiddle.net/ introdu aici htmlul si jsul necesar pentru a putea reproduce problema. Usurezi mult munca celor ce doresc sa te ajute.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate