За последние 24 часа нас посетили 15184 программиста и 1671 робот. Сейчас ищут 930 программистов ...

Сохранение данных основной формы

Тема в разделе "JavaScript и AJAX", создана пользователем Nevskiy, 24 июл 2012.

  1. Nevskiy

    Nevskiy Активный пользователь

    С нами с:
    24 июл 2012
    Сообщения:
    1
    Симпатии:
    0
    Подскажите, пожалуйста, есть код:

    <body>
    <!-- Основная форма -->
    <form action="action.php" method="post">
    <fieldset><legend>Основные параметры</legend>
    <table width=25% border=0>
    <tr>
    <td align=center><b><u>Артикул</u></b><br>
    <select name="articul" size="1">
    <option value="SQL запрос">
    </select>
    </td>
    </tr>
    <tr>
    <td align=center><b><u>Материал</u></b><br>
    <input name="material" size="1">
    <option value="SQL запрос">
    </td>
    <td valign=bottom><img border="0" onclick="return show(event, 'material')" src="/images/q2.png" alt="" title="Новый материал" style="cursor: pointer;"></td>
    </tr>
    <tr>
    <td align=center><b><u>Вид изделия</u></b><br>
    <input name="vid" size="1">
    <option value="SQL запрос">
    </td>
    <td valign=bottom><img border="0" onclick="return show(event, 'vid')" src="/images/q2.png" alt="" title="Новый вид изделия" style="cursor: pointer;"></td>
    </tr>
    <tr>
    <td align=center><b><u>Размер</u></b><br>
    <select name="razmer" size="1">
    <option value="SQL запрос">
    </td>
    <td valign=bottom><img border="0" onclick="return show(event, 'razmer')" src="/images/q2.png" alt="" title="Новый размер" style="cursor: pointer;"></td>
    </tr>
    </table>
    </fieldset>
    </div>
    </form>
    <!-- Конец основной формы -->

    <div id='material' style='display: none'>
    <form action="sql_action.php" method="post">
    <table width=25% border=0>
    <td align=center><b><u>Материал</u></b><br><input type="text" name="material_new" size="15"></td>
    </table><br>
    <input align="center" type="submit" class="buttons" value="Добавить" name="new_material_button">
    </form>
    </div>

    <div id='vid' style='display: none'>
    <form action="sql_action.php">
    <table width=25% border=0>
    <td align=center><b><u>Вид изделия</a></u></b><br><input type="text" name="new_vid_izdelia" size="15"></td>
    </table><br>
    <input align="center" type="submit" class="buttons" value="Добавить" name="new_vid_izdelia_button">
    </form>
    </div>

    <div id='razmer' style='display: none'>
    <form action="sql_action.php">
    <table width=25% border=0>
    <td align=center><b><u>Размер</a></u></b><br><input type="text" name="new_razmer" size="15"></td>
    </table><br>
    <input align="center" type="submit" class="buttons" value="Добавить" name="new_razmer_button">
    </form>
    </div>
    </body>


    Обработчик всплывающего окна:

    function show (evt, id) {
    var evt = evt || window.event;
    var o = evt.target || evt.srcElement;
    var f = document.getElementById('cur_popup_note');
    if (f == null) {
    f = document.createElement('div');
    f.setAttribute ('id', 'cur_popup_note');
    f.setAttribute ('style',
    'progid:DXImageTransform.Microsoft.Alpha(opacity=100); '+
    'opacity: 1; display: block; top: 0px; left: 0px;'+
    'width:auto; height:auto;');
    f.setAttribute('class', 'popup');
    document.body.appendChild(f);
    }
    f.opacityFilter = 0;
    f.innerHTML = '<img src="/images/x.gif" height="13" width="13" border="0" id="x_image" '+
    'style="cursor:pointer;float:right;" onclick="hide();">'+
    '<div style="padding: 10px">' +
    document.getElementById(id).innerHTML + '</div>';
    f.className = 'popup_active';
    f.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (f.opacityFilter * 100) + ');';
    f.style.opacity = f.opacityFilter;
    f.style.display = 'block';
    var o_coords = getPosition(o);
    var f_coords = getPosition(f);
    var calculatedTop = (f.offsetTop + (o_coords.top - f_coords.top));
    var calculatedLeft = (f.offsetLeft + (o_coords.left - f_coords.left));
    if (calculatedTop + f.offsetHeight > document.body.offsetHeight)
    calculatedTop = document.body.offsetHeight - f.offsetHeight;
    if (calculatedLeft + 200 > document.body.offsetWidth)
    calculatedLeft = document.body.offsetWidth - 220;
    f.style.top = calculatedTop + 'px';
    f.style.left = calculatedLeft + 'px';
    window.setTimeout('animate()', 50);
    evt.cancelBubble = true;
    return false;
    }

    function hide() {
    var div = document.getElementById('cur_popup_note');
    if (div != null) {
    div.className = 'footnote_new';
    div.style.display = 'none';
    }
    return false;
    }

    function animate() {
    var f = document.getElementById('cur_popup_note');
    f.opacityFilter += 0.05;
    f.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (f.opacityFilter * 100) + ');';
    f.style.opacity = f.opacityFilter;
    if (f.opacityFilter<1) window.setTimeout('animate()', 50);
    }

    function getPosition(offsetTrail) {
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
    offsetLeft += offsetTrail.offsetLeft;
    offsetTop += offsetTrail.offsetTop;
    offsetTrail = offsetTrail.offsetParent;
    }
    return { left:eek:ffsetLeft, top:eek:ffsetTop }
    }

    В нем есть основная форма, и скрытые блоки, в которых тоже есть формы. Действие onclick вызывает скрытый div. Из него я добавляю новую запись в sql базу. После нажатия кнопки в скрытом блоке страница перезагружается и все данные основной формы не сохраняются. Пробовал делать в одной форме, но тогда перестают работать кнопки в скрытых блоках. Как можно сохранить уже введенные данные? Спасибо.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно не перезагружать страницу при клике в диве. AJAX