76 (изменено: VitoS, 2011-04-21 20:06:11)

Re: добавление записей в бд через форму

и даже в теге <head>?...

<script type="text/javascript">
     $(function() {
        $('#autocomplete').autocomplete({
            source: [
<?php
            include('db_login.php');
            $connection=mysql_connect($db_host,$db_username,$db_password);
             mysql_query('SET NAMES utf8');
           if (!$connection)
            {
                  die('Ошибка подключения к серверу баз данных');
            }
            $db_select=mysql_select_db($db_database);

           if (!$db_select)
         {
              die('База данных не найдена или отсутствует доступ');
            }
             $dela='select Nazv from dela';
             $res_dela=mysql_query($dela);
             while ($row_del=mysql_fetch_array($res_dela)){
             $dela_mas=$row_del['Nazv'];
             echo 'label: "$dela_mas"',
                                           echo 'value: "$dela_mas"'}
             ?>

                                       ],
            html:true
       });
    });
    </script>
так вообще можно делать?..немного не понимаю как быть с label и value..они должны задаваться в цикле?и в отдельном теге?

77

Re: добавление записей в бд через форму

Почти правильно, только цикл будет выглядеть так:

$a = array();
while ($row_del = mysql_fetch_array($res_dela)){
    $a[] = '{label: "' . addslashes($row_del['Nazv']) . '",'
        .   'value: "' . addslashes($row_del['Nazv']) . '"}';
}
if (count($a) > 0) echo implode(',', $a);

78

Re: добавление записей в бд через форму

спасибо огроменное, все заработало! а чтобы изменить размер шрифта нужно менять в файле *.js или можно изменить в коде?..я пробовал использовать <font size>, но че-то не срабатывало..

79

Re: добавление записей в бд через форму

VitoS сказал:

чтобы изменить размер шрифта нужно менять в файле *.js

Размер шрифта наследуется от <body>, поэтому пропишите размер в стиле или внутри тега.

<body style="font-size: 12px;">

80 (изменено: VitoS, 2011-04-22 16:10:32)

Re: добавление записей в бд через форму

подскажите пожалуйста, а можно как-то сделать, чтобы в каждом появлявшемся поле действовал метод автозаполнения?..ну вот то есть есть у меня скрипт :

echo '<script language="javascript">
var num=1;
function AddItem() {
  div=document.getElementById("num");
  button=document.getElementById("add_pole");
  num++;
  newitem="<strong>Мероприятие " + num + ": </strong>";
  newitem+="<input type=\"text\" name=\"item" + num;
  newitem+="\" size=\"15\" id=\"autocomplete\"><br>";
  newnode=document.createElement("span");
  newnode.innerHTML=newitem;
  div.insertBefore(newnode,button);
}
</script>';
echo '<div ID="num">
<strong>Мероприятие 1: </strong><input type="text" name="item1" size="15"  id="autocomplete"><br>
<input type="button" value="Добавить поле" onClick="AddItem();" ID="add_pole">
</div>';

id=\"autocomplete\"-это сслыка на другой скрипт...в этом случае работет только здесь: <strong>Мероприятие 1: </strong><input type="text" name="item1" size="15"  id="autocomplete"><br>....а почему не работает для всех полей?

81

Re: добавление записей в бд через форму

VitoS сказал:

а почему не работает для всех полей?

Не работает, потому что на странице может быть только один уникальный идентификатор (id).

Попробуйте через имя класса сделать. Не знаю будет это работать или нет, но пробуйте.
У каждого поля ввода с автозаполнением добавьте параметр class="autocomplete", затем исправьте строку:
$('#autocomplete').autocomplete({
На
$('.autocomplete').autocomplete({

82

Re: добавление записей в бд через форму

сделал так:

<script language="javascript">
var num=1;
function AddItem() {
  div=document.getElementById("num");
  button=document.getElementById("add_pole");
  num++;
  newitem="<strong>Мероприятие " + num + ": </strong>";
  newitem+="<input type=\"text\" name=\"item" + num;
  newitem+="\" size=\"15\" class=\"autocomplete\"><br>";
  newnode=document.createElement("span");
  newnode.innerHTML=newitem;
  div.insertBefore(newnode,button);
}
</script>
<div ID="num">
<strong>Мероприятие 1: </strong><input type="text" name="item1" size="15" class="autocomplete"><br>
<input type="button" value="Добавить поле" onClick="AddItem();" ID="add_pole">
</div>

опять же работает только в случае с одним полем, которое задается вручную...

83

Re: добавление записей в бд через форму

Все верно, только необходимо вызвать функцию повторно.

<script type="text/javascript">
// Встраиваем все внутрь функции autocomplete().
function autocomplete() {
     $(function() {
        $('.autocomplete').autocomplete({
...
       });
    });
}
// Вызываем первый раз.
autocomplete();
</script>

Затем в функции AddItem() добавляем вызов autocomplete() после строки:

div.insertBefore(newnode,button);
autocomplete();

84

Re: добавление записей в бд через форму

спасибо!!!все заработало!