私はこれを持っています:
var field = query("form#"+form.id+" input[name='" + error.field + "']");
if(field.length){
if( field[0].id ) {
widget = registry.byId( field[0].id );
if(widget){
...
}
}
私は私が書くことができると思ったでしょう:
var field = query("form#"+form.id+" input[name='" + error.field + "']");
if(field.length && field[0].id && widget = registry.byId( field[0].id) ){
...
}
しかし、2番目の「短縮された」形式を使用すると、Javascriptエラーが発生します。
申し訳ありませんが、JSFiddleを提供するのは面倒です。この問題は、query()が0の値を返す場合に発生します- field[0].id
&&widget = registry.byId( field[0].id)
はまだ解釈されていました。
私はそれを安全にプレイしていると思いました。2番目field[0].id
はそうであった場合field.length
にのみ発生し、> 0
それが真実であるwidget = registry.byId( field[0].id)
場合にのみ発生するからfield[0].id
です...
私は何が欠けていますか?
メルク。