Jak získat objekt z data-nette-rules
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- svagi
- Člen | 15
Zdravím,
mám takový přihlouplý dotaz,
jak získám objekt z nette-data-rules?
mám klasický input:
<input type="text" name="firstName" id="frmContactForm-firstName" required="required"
data-nette-rules="{op:':filled',msg:"Toto pole je povin\u00e9!"}" >
Pokud se ho snažím získat msg objektu přes JS, vždy mi vyhodí Undefined:
<script>
var rules = eval('[' + (el.getAttribute('data-nette-rules') || '') + ']');
console.log(rules.msg); // vyhodí vždy undefined
console.log(rules); //vypise objekt
[ Object
msg: "Please complete mandatory field."
op: ":filled"
__proto__: Object ]
// to samé v jQuery
var rules = $('#frmContactForm-firstName').data('nette-rules');
console.log(rules.msg); // undefined
console.log(rules); // vypise {op:':filled',msg:'Please complete mandatory field.'}
</script>
- svagi
- Člen | 15
Tak už jsem našel odpověď pro JS:
<script>
var obj = eval('(' + el.getAttribute('data-nette-rules') + ')');
console.log(obj.msg) // vypise msg
</script>
Více na http://www.json.org/js.html.
Snad se to bude někomu taky hodit. :)
Editoval svagi (13. 8. 2012 15:58)