フォーム入力で、JavaScriptのエラーチェックを実装しています。
入力可能文字は、半角英数と記号(-_@!#$%&'()=^~{};:?<>+*|) が可能として、
それ以外の入力があったときはダイアログでエラーが出る設計なのですが、
JavaScript
1if(!moji.match(/^[a-zA-Z0-9-_@!#$%&'()=^~{};:?<>+*|]*$/)) alert('error');
とインラインに書き込むと上手く動作するのですが、
インクルードされている jsファイルに関数を書き込んで、
JavaScript
1<script src="aaa.js"></SCRIPT> 2if(!check(moji)) alert('error'); 3 4 5// aaa.js の中にある 6function check(moji) 7{ 8 if(!moji.match(/^[a-zA-Z0-9-_@!#$%&'()=^~{};:?<>+*|]*$/)) return false; 9 return true; 10}
というようにすると正しく動作せず、入力可能文字でもエラーとなってしまいますが何故なのでしょう?
ただし、jsファイルはキャッシュではなく新しいデータをロードしており、
HTML内に check() をインラインで書き込んだ場合も正しく動作します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/28 08:52
2018/11/28 08:55
2018/11/28 09:00