- Ben doğrulamak adında bir işlev içinde bir yerel değişken adında cont ilan etti.
- İçimde validate bir işlev süreci arıyorum.
- Ben işlevini doğrulamak için argüman olarak dize 'cont' yolluyorum.
- 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.
- 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.