PDA

Просмотр полной версии : удаление символов из текстового поля (вопрос)


Fokker
29.07.2005, 17:36
Каничива Джентельмены.
вот замарочился следующей задачкой:
есть четыре кнопки и два дин. текстовых поля.
Три кнопки-для ввода данных в поля,а четвертая для удаления последнего введенного значения (как в в мобильнике клавиша "c").
Данные должны вводиться с права на лево и сначала снизу,а потом вверх (поэтому два текстовых поля).Ограничение по кол-ву символов в строке-8. (всего соответственно мы можем ввести 16 символов).
Я пошел таким путем :

d_txt = "";// нижнее динамическое текстовое поле
u_txt = "";// верхнее динамическое текстовое поле
// клавиша "1" вводит в поле 1
b1_btn.onPress = function() {
if (d_txt.length<8) {
d_txt += "1";
} else if (u_txt.length<8) {
u_txt += d_txt.charAt(0);
d_txt = d_txt.charAt(1)+d_txt.charAt(2)+d_txt.charAt(3)+d_txt.charAt(4)+d_txt.charAt(5)+d_txt.charAt(6)+d_txt.charAt(7)+"1";
}
};
b2_btn.onPress = function() {
if (d_txt.length<8) {
d_txt += "2";
} else if (u_txt.length<8) {
u_txt += d_txt.charAt(0);
d_txt = d_txt.charAt(1)+d_txt.charAt(2)+d_txt.charAt(3)+d_txt.charAt(4)+d_txt.charAt(5)+d_txt.charAt(6)+d_txt.charAt(7)+"2";
}
};
b3_btn.onPress = function() {
if (d_txt.length<8) {
d_txt += "3";
} else if (u_txt.length<8) {
u_txt += d_txt.charAt(0);
d_txt = d_txt.charAt(1)+d_txt.charAt(2)+d_txt.charAt(3)+d_txt.charAt(4)+d_txt.charAt(5)+d_txt.charAt(6)+d_txt.charAt(7)+"3";
}
};
bc_btn.onPress=function() {
// а вот тут я и не знаю,как выкрутиться...
};

вот как удалить последнее введенное значение,чтобы все строчки сместились вправо последовательно.И еще...хотелось бы увидеть другие варианты решения этой задачи..а то чувствую,я ,что через одно место по неопытности иду...
на всякий случай фла-шку прикрепляю.

Жень Шень
30.07.2005, 12:26
Привет!
Попробуй "крутануть" так:
bc_btn.onPress = function() {
if (u_txt.length>0) {
u_txt = u_txt.slice(0, u_txt.length-1);
} else {
d_txt = d_txt.slice(0, d_txt.length-1);
}
};

Fokker
02.08.2005, 11:42
Дружище,спасибо большое за подсказку.В том виде,что ты написал,работает не совсем так (сначала изменяется верхняя строка,а потом нижняя,а должно одновременно везде изменяться).Я чутка подправил и заработало,как надо.
Получилось так :

bc_btn.onPress = function() {
if (u_txt.length>0) {
var i = u_txt.length-1;
d_txt = u_txt.charAt(i)+d_txt.charAt(0)+d_txt.charAt(1)+d_txt.charAt(2)+d_txt.charAt(3)+d_txt.charAt(4)+d_txt.charAt(5)+d_txt.charAt(6);
u_txt = u_txt.slice(0, u_txt.length-1);
} else {
d_txt = d_txt.slice(0, d_txt.length-1);
}
};

Жень Шень
02.08.2005, 12:05
привет!
я дал пищу для ума.
ум оказался в наличии... и всё переварил!:)
я рад, что всё получилось. :)

ЗЫ
Попробуй такой вариант
bc_btn.onPress = function() {
if (u_txt.length>0) {
var d = u_txt.length;
d_txt = u_txt.slice(d-1, d)+d_txt.slice(0, d_txt.length-1);
u_txt = u_txt.slice(0, d-1);
} else {
d_txt = d_txt.slice(0, d_txt.length-1);
}
};