php $ $ dolar dolar javascript eşdeğeri

0 Cevap php
  1. Ben doğrulamak adında bir işlev içinde bir yerel değişken adında cont ilan etti.
  2. İçimde validate bir işlev süreci arıyorum.
  3. Ben işlevini doğrulamak için argüman olarak dize 'cont' yolluyorum.
  4. Dizge 'cont' kullanarak işlem fonksiyonu i pencerede ['devam'] gibi javascript yerel değişkenin değerini erişmek istiyorum. Ama tanımsız olsun.
  5. Ne yapmam çalışıyorum php ya $ $ dolar GLOBALS gibi değişkenleri erişmeye çalışıyor.

İşte ne yaptım bir örnektir.

<script>

function process(str)
{
   alert(window[str]);
}

function validate()
{
   var cont='once there lived a king named midas';
   process('cont')
}

validate();

</script>

Nedeni i ajax gibi formların en yapmaktır. ben böyle bir isteği dize yapmak istemiyorum.

var param = "command=insert&content=" + encodeURIComponent(cont);

ben böyle yapmak istiyorum.

var param = makeParam('command,[insert],content,(cont)');

what i do in makeparam is i use regular expression to extract key value pairs. so i get the string cont from (cont) and i substitute it into window variable like window[cont]. cont will have the string 'cont'.

yani nasıl dize gibi değişken adını kullanarak bir değişkenin içeriğini alabilirim?

böylece PHP'nin $ $ javascript eşdeğer arıyorum

Edited

i () arasındaki dize içeriğini istediğiniz anlamına gelir içinde (devam) olan cont ayıklamak kod parçası.

nxt = str[i+1].match(/\((.*)\)$/)

if(nxt)param += '=' + encodeURIComponent(window[nxt[1]]);

param içeriği olacak

"command=insert&content=once there lived a king"
// assume that once there lived a king is encoded

Edit. Note2.

Birkaç yanıtları sonra ben bu eklemek için kod düzenleme ediyorum.

Ben php $ GLOBALS gibi yapmaya çalışıyorum.

Ben $ GLOBALS de yerel değişkenleri cantain edip denemedim.

ve yerel kapsam $ GLOBALS haline gelmeyecek öğrendim.


Update after reading Felix King's Update.

Ben mümkün olduğunca basit bir sorgu dizesi inşa edecek bir işlevi kullanmak istiyorum. Aşağıdaki gibi.

var param = makeParam('command,insert,/title/,/keywords/,/description/,mode,[1],fckcontent,(cont)');

// if it is a text without // or () then the it is a straight key value pair. so i will do comment=insert.

//if it is /title/ then the key is title and its value is an input elements value with id as title so title=getElementById('title')

//if it is mode,[1] then mode is the key and 1 is its direct value//

//if it is fckcontent,(cont) then fckcontent is the key and cont is a javascript local variable which will contain html content from a WYSIWYG editor.

// a sample result will be

 var param = "command=insert&keywords=somekeywords&description=somedescription&mode=1&fckcontent=<p>once there lived a king<p>

ve sonra casablanca $ GLOBALS yerel kapsam değişkenleri içermiyorsa ve bu javascript de aynı şekilde olduğunu belirtti. bu doğru.

0 Cevap