Общие вопросы по коду
-
maasja
Re: Общие вопросы по коду
Скажите пожалуйста как узнать положение мигающего курсора в textarea. Объясняю:
Cтавлю на "textarea" dct возможные события mousedown, keydown и т.д. (использую jquery).
Допустим кто-то в textarea печатает слово "верблюд", и тут переходит на 3 символ (буква "р"). Мне нужно узнать где сечас находится тот мигающий курсор при печати. Например по событию mousedown активируется функция в которую записывается что сейчас мигающая текстовый курсор находится на допустим 5 символе (из 23 напечатанных ). Большое спасибо...
Cтавлю на "textarea" dct возможные события mousedown, keydown и т.д. (использую jquery).
Допустим кто-то в textarea печатает слово "верблюд", и тут переходит на 3 символ (буква "р"). Мне нужно узнать где сечас находится тот мигающий курсор при печати. Например по событию mousedown активируется функция в которую записывается что сейчас мигающая текстовый курсор находится на допустим 5 символе (из 23 напечатанных ). Большое спасибо...
-
lavana
Re: Общие вопросы по коду
Если в качестве текстового редактора вы используете элемент управления Rich Textbox, то полезно узнать не только число строк (о чем говорилось в предыдущем совете), но также, например, и текущую позицию курсора. Это можно сделать с помощью еще одной API-функции — SendMessageByNum:
Листинг 1.
Private Declare Function SendMessageByNum Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const EM_LINEFROMCHAR = &HC9 Private Const EM_LINEINDEX = &HBB
Public Function GetCurrentLine(TxtBox As Object) As Long
' определение текущей строки в окне
With TxtBox
GetCurrentLine = SendMessageByNum(.hwnd, _
EM_LINEFROMCHAR, CLng(.SelStart), 0&) + 1
End With
End Function
Public Function GetCurrentColumn(TxtBox As Object) As Long
' определение текущей колонки в окне
With TxtBox
GetCurrentColumn = .SelStart - SendMessageByNum(.hwnd, _
EM_LINEINDEX, -1&, 0&) + 1
End With
End Function
Вот как их можно использовать:
Листинг 2.
Private Sub Command1_Click()
MsgBox "Текущая строка = " & GetCurrentLine(RichTextBox1)
End Sub
Private Sub Command2_Click()
MsgBox "Текущая колонка = " & GetCurrentColumn(RichTextBox1)
End Sub
Листинг 1.
Private Declare Function SendMessageByNum Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const EM_LINEFROMCHAR = &HC9 Private Const EM_LINEINDEX = &HBB
Public Function GetCurrentLine(TxtBox As Object) As Long
' определение текущей строки в окне
With TxtBox
GetCurrentLine = SendMessageByNum(.hwnd, _
EM_LINEFROMCHAR, CLng(.SelStart), 0&) + 1
End With
End Function
Public Function GetCurrentColumn(TxtBox As Object) As Long
' определение текущей колонки в окне
With TxtBox
GetCurrentColumn = .SelStart - SendMessageByNum(.hwnd, _
EM_LINEINDEX, -1&, 0&) + 1
End With
End Function
Вот как их можно использовать:
Листинг 2.
Private Sub Command1_Click()
MsgBox "Текущая строка = " & GetCurrentLine(RichTextBox1)
End Sub
Private Sub Command2_Click()
MsgBox "Текущая колонка = " & GetCurrentColumn(RichTextBox1)
End Sub
-
maasja
Re: Общие вопросы по коду
lavana, извините это на каком языке написано? По моему это не javascript. К сожалению я ничего не понял...
Sham, как всегда БОЛЬШОЕ спасибо...
Sham, как всегда БОЛЬШОЕ спасибо...
-
Warning_512
Re: Общие вопросы по коду
Warning_512, От XSS может спасти следующий набор RegExp 
$this->unsafe_html[] = ‘!javascript\s*:!is’;
$this->unsafe_html[] = ‘!vbscri?pt\s*:!is’;
$this->unsafe_html[] = ‘!unsafe_html[] = ‘!]*[^a-z]onabort\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onblur\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onchange\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onfocus\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onmouseout\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onmouseover\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onload\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onreset\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onselect\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onsubmit\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onunload\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onerror\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onclick\s*=!is’;

$this->unsafe_html[] = ‘!javascript\s*:!is’;
$this->unsafe_html[] = ‘!vbscri?pt\s*:!is’;
$this->unsafe_html[] = ‘!unsafe_html[] = ‘!]*[^a-z]onabort\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onblur\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onchange\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onfocus\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onmouseout\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onmouseover\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onload\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onreset\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onselect\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onsubmit\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onunload\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onerror\s*=!is’;
$this->unsafe_html[] = ‘!]*[^a-z]onclick\s*=!is’;
-
Sham
Re: Общие вопросы по коду
lavana, выдрано из контекста (класса), еще и с ошибкой в 3 строке...
в общем случае достаточно обработки всех входящих данных ф-ей
в общем случае достаточно обработки всех входящих данных ф-ей
htmlspecialchars
.-
Sham
Re: Общие вопросы по коду
так как я не очень силен в языках програмирования, и все мои попытки добиться нужного результата закончились неудачами, решил спросить у професионалов)
я не уверен, что то что я задумал воопше реально сделать, но всетаки - вот код формы, которая, по нажатию на кнопку должна удалять из БД запись "n".
Код:
В БД около 9000 записей, и прямого доступа к ней нету...
Вопрос:
можно ли сделать так чтобы при нажатии даной кнопки удалить все записи сразу, а не вводить отдельно каждый номер в поле value='n'[/i]?
если ето возможно - подскажыте как... буде очень благодарен)
я не уверен, что то что я задумал воопше реально сделать, но всетаки - вот код формы, которая, по нажатию на кнопку должна удалять из БД запись "n".
Код:
Код: Выделить всё
<form name="unban" method="post" action="/cstrike/banlist/admin/edit_ban.php">
<input type='hidden' name='action' value='delete'>
<input type='hidden' name='bid' value='n'>
<td align='right' valign='top' width='2%'>
<input type='image' src='/cstrike/banlist/images/delete.gif' name='delete' alt='удалить' onclick="javascript:return confirm('Вы хочете удалить ban n?')">
</td>
</form>В БД около 9000 записей, и прямого доступа к ней нету...
Вопрос:
можно ли сделать так чтобы при нажатии даной кнопки удалить все записи сразу, а не вводить отдельно каждый номер в поле value='n'[/i]?
если ето возможно - подскажыте как... буде очень благодарен)
-
Zveriok
Re: Общие вопросы по коду
Можно в этом разделе создать тему в которой будет обсуждаться моя тренировочная верстка?