コードバスを使用してiOS用のToDoリストスタイルアプリのフォーム入力フィールドがあります。私は、ユーザが以下のような文字を入力できるようにしたいと思う。 %& + しかし、これによりアプリがクラッシュしました。私の一時的な修正は、.keypress関数を使用してフォームフィールドのキー入力を制限することでした。しかし、私は、ユーザーがリスト項目にこれらの文字を含めることができる方法を見つけたいと思います。 (唯一の入力として空白スペースを追加するとアプリがクラッシュすることに気付きました)html5/jqueryモバイルフォーム入力で非英数字を許可する方法
これらの文字の使用を制限する多くのQ + Asが検証されていますが、フォーム入力でそれらを使用するには?
ありがとうございました!
/* Form to make a new list item */
$('.formMain').submit(function() {
var key = Date.now();
var text = $('#todo').val();
var textTrim = text.replace(/ /g, '').toLowerCase();
var checked = false;
var quantity = $('#quantity').val();
// if the inputs are blank
if (text.length == 0) {
return false;
}
// if item already on list
else if ($('.list #' + textTrim).length) {
alert(text + " already on list!");
}
// if the input box is not empty run the template function
else if ((text.length > 0) === true) {
var html = template(text, textTrim, key, checked, quantity);
$('.list').append(html);
itemListArray.push({ key: key, text: text, textTrim:textTrim, checked: checked, quantity: quantity});
// Save the item list array
if (window.localStorage) {
window.localStorage.setItem('itemListArray', JSON.stringify(itemListArray));
}
$('#todo').val("");
$('#quantity').val("");
}
return false;
なぜクラッシュしましたか?あなたはキャラクターをまったく検証していますか?エラーは何ですか?どのようにデータを使用していますか? – noahnu
- 私が.keypressの制限を取り除き、入力フィールドに "&"と入力するとアプリがクラッシュする(リップル/ iPhoneが私の "情報"画面をプルアップし、メニューボタン以外の機能が働いている) - アプリを閉じるためにスワイプする必要がある電話と再起動)。 - 上記のデータがどのように使用されているかを示すコードを追加します...ありがとう! –
更新:クラッシュは、textTrim(例: "&")にメタキャラクタがあり、html要素を構築するtemplate()関数を介して送信され、idにtextTrimを代入するとvar = textTrim変数によって引き起こされたようですクラッシュが発生したとき。 textTrim変数がその関数に送られる前にこれらの文字をエスケープしています...うまくいくようです。 –