文字列を色の値に分割し、各値でhtml色のコントロールを設定する関数を記述しようとしています。javascript split array空の値
与えられた文字列はユーザによって入力され、mysqliデータベーステーブルから格納され、検索されます。
スプリットアレイの値の一部が空の場合に問題が発生します。これは、カラーコントロールを設定しようとするとエラーが発生しています。
は、私が試してみました何:も試してみました
if(res[ PAGE_CUSTOM_LINK_COLOR ] == undefined) val = '';
else val = res[ PAGE_CUSTOM_LINK_COLOR ];
var color = val.split(";++");
if(color[ 0 ] != null){
$('#custom_p_color').val(color[ 0 ]);
}else $('#custom_p_color').val('#000000');
:
if(color[ 0 ] != ''){
エラー:
The specified value "" does not conform to the required format. The format is "#rrggbb" where rr, gg, bb are two-digit hexadecimal numbers.
例文字列:
#800040;++#ff8000;++border: 0; border-bottom: 5px dotted #eeffee
の
カラー値があってもなくてもよい。
;++#ff8000;++border: 0; border-bottom: 2px dotted #eeffee
#800040;++;++border: 0; border-bottom: 2px dotted #eeffee
;++;++border: 0; border-bottom: 2px dotted #eeffee
;++;++ <- would be the bare minimum string!
どのように私は、分割によって生成された配列から空の値をチェックしますか?
これは、問題は解決したように見える:空の値以外の値をチェックしTYPEOF
if (typeof color[0] != "undefined" && color[0] !== '')
それを、そして「」まだそれをチェックし、空に、他のいくつかのものとして分類され、問題を引き起こすのを止める!
入力文字列の例はありますか? – nnnnnn
長さは0? 'color.length == 0' – kirinthos
color.length!= 0を試しましたが、長さが定義されていないという別のエラーが発生していました! – user3633383