собсно, сабж. реализовал отправку формы по нажатию ctrl+enter таким способом:
в шапке добавил вот это:
<script type="text/javascript">
function ctrlEnter(event, formElem)
{
if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))
{
formElem.submit.click();
}
}
</script>
и еще в форме
<form action="send.php" method="post" onkeypress="ctrlEnter(event, this);">блаблабла</form>
скрипт-то работает на отлично, но есть оно "но". по нажатию этих самых ctrl+enter создается новая вкладка с результатом, которая мне не нужна, ибо я хочу, чтобы все произошло в текущей вкладке.
браузер: О программе
Опера (Версия:11.62 Сборка:1347)
помогите, посоны
добавлено спустя 23 минуты:
MuSTAnG, не отправляет форма какбэ
Веселье, другие кнопки назнач. Не трогай горячие клавиши браузера. Имхо.
04 Апр 2012, 20:21Веселье, на сколько я понимаю, это проблема оперы.
добавлено спустя 55 секунд:
как вариант, можно попробовать, не вызывать сабмит, а передавать данные самому через xmlhttprequest
Веселье,
formElem.submit.click();
зачем так?
попробуй просто
formElem.submit();
Как сделать создание доп.форм для заполнения пользователями и все это дело записать в базу?
<script type="text/javascript">
function forma()
{
var div = document.getElementById('Result');
div.style.display = (div.style.display == 'none') ? '' : 'none';
div.innerHTML = '<?echo '<b>Ф.И.О./Ник:</b> <input type=text name=name size=50 value=""/>';?>';
}
</script>
echo '<a href onclick="forma(); return false;">Добавить игрока/команду</a>';
echo '<div id="Result" style="display: none"></div>';
Так создается только одна форма.
Ответ на мой вопрос.
$query = "INSERT INTO player_comands (id_user, id_comands, nameplayer) VALUES ";
for($i = 0; $i < count($nameplayer); $i++){
$query .= "('$user[id]', '$fidd', '$nameplayer[$i]'),";
}
$query = substr($query, 0, strlen($query)-1); // убираем лишнюю запятую
$res = mysql_query($query);
<script>
function append(id) {
var node = document.getElementById(id),
newNode = document.createElement('div');
newNode.innerHTML = '<b>Ф.И.О./Ник:</b> <input type="text" name="nameplayer[]" size=50 value="" />';
node.appendChild(newNode);
return newNode;
}
</script>
<a href onclick="append('test'); return false;" title="Нажмите для добавления игроков в команду">Добавить игрока в команду</a>
echo '<div id="test"></div>';
удалено, разобрался...
В общем при добавлении товара в магазин пользователь выбирает раздел.
echo 'Раздел: <select name="cat">';
$res = mysql_query('SELECT * FROM `shop_cat` ORDER BY `realid`;');
while($row = mysql_fetch_assoc($res))
{
echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';
}
echo '</select><br/>';
При выборе допустим первого раздела нужно сделать так чтобы появлялся ниже подраздел с категориями первого раздела. Если второй - то соответственно подраздел с категориями второго раздела.
добавлено спустя 3 часа 6 минут:
Решение
function is_sel($a, $field)
{
$b = isset($_POST[$field])?$_POST[$field]:NULL;
if($a == $b) return 'selected="selected"';
}
echo '<form id="frm" action="add" method="post" enctype="multipart/form-data">';
$res = mysql_query('SELECT * FROM `shop_cat` ORDER BY `realid`;');
echo 'Раздел: <select name="cat" onchange="document.getElementById(\'frm\').submit()">
<option value="null">- Выберите раздел -</option>';
while($row = mysql_fetch_assoc($res))
{
echo '<option '.is_sel($row['id'], 'cat').' value="'.$row['id'].'">'.$row['name'].'</option>';
}
echo '</select><br/>';
if(isset($_POST['cat']))
{
$res2 = mysql_query('SELECT * FROM `shop_podcat` WHERE `id_cat`="'.(int)$_POST['cat'].'" ORDER BY `realid`;');
echo 'Подраздел: <select name="podcat">
<option value="null">- Выберите подраздел -</option>';
while($row2 = mysql_fetch_assoc($res2))
{
echo '<option value="'.$row2['id'].'">'.$row2['name'].'</option>';
}
echo '</select><br/>';
}
echo '</form>';
как отчистить окно ? на JS
добавлено спустя 9 минут:
да и например как определить сколько символов содержится в какой нибудь переменной?