Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Форма, две кнопки, JS (http://www.flasher.ru/forum/showthread.php?t=177629)

varafat 04.04.2012 17:19

Форма, две кнопки, JS
 
Доброго времени суток! просьба прочитать сначала вопрос, а потом пинать:D, потому что он (имхо) отличается от других подобных (имхо сильно:))...
Алгоритм:
Есть форма на ней две кнопки, при нажатии на одну часть даных с формы должно отправлятся в обработчик1, при нафатии на другую кнопку ффторая часть даных должна отправлятся в обработчик2. (форма и обработчики находятся в одном файле)
Код:

<form action="" id="f1" method="post">

          <label>111111
            <input type="text" name="111" value="" class="enter" size="100" />
          </label>
      ...................................
          <label>22222
            <input type="text" name="222" value="" class="enter" size="100"  />
          </label>
                   
тут кнопкаОДИН и кнопкаДВА
               
</form>

пробовал
Код:

<input type="submit" value="КнопкаОДИН" name="edit"/>
 <button value="edit_img" name="edit_img" type="submit">кнопкаДВА</button>

if($_POST['edit_img']) complete_img();<<<идем на функцию complete_img()
 if($_POST['edit']) complete();<<<идем на функцию complete()

но при нажатии на любую кнопку страница обновляется и или выполняется if($_POST['edit']) complete() или ничего...

Вопрос:
Можно ли данный вопрос реализовать на JS, именно чтоб обработчики и форма были на одной странице... В поиске нашел много примеров но там другой алгоритм роботы:(

Zebestov 04.04.2012 17:30

А так не пробовал?
Код:

<input type="submit" value="КнопкаОДИН" name="edit" onclick="function1(); return false;"/>
<input type="submit" value="КнопкаДВА" name="edit_img" onclick="function2(); return false;"/>


varafat 04.04.2012 20:38

Цитата:

Сообщение от Zebestov (Сообщение 1073077)
А так не пробовал?
Код:

<input type="submit" value="КнопкаОДИН" name="edit" onclick="function1(); return false;"/>
<input type="submit" value="КнопкаДВА" name="edit_img" onclick="function2(); return false;"/>


та оно то вроде работает...НО я пытаюсь сделать чтоб ....
Вопщим форма... заполняются основние поля(инфа про обект) в низу парочка дополнительных полей(информацияя про изображения даного объекта), нажимаем кнопку Добавить изображение и идентификатор из основной информации+банние об изображении записуются в таблицу БД, при этом форма не должна перезагружатся, пытаюсь сделать чтоб можна было добавить несколько изображений для одного материала... А по нажатии кнопки Добавить материал в другую таблицу БД записуются ячейки формы которые относятся к материалу...
Вот...
Сижу думаю как это организовать...
нашел такой скрипт
Код:

function submitOnClick(magic){
        document.forms['manualpay'].action= magic ? '/credit.php' : 'debit.php';
        document.forms['manualpay'].submit();
}
<form name="manualpay" method="post">
        <input name="summ" type="text" />
        <textarea name="cause" id="comment" rows="3"></textarea>

        <ul>
        <li><a href="#" onclick="submitOnClick(true)">зачислить</a></li>
        <li><a href="#" onclick="submitOnClick(false)">снять</a></li>
        </ul>
</form>

питаюсь под себя переделать... пока неособо:(((

Mirror13 05.04.2012 15:49

На самом деле, я так понимаю, нужно в конечном счете отправить данные все-таки на сервер, чтобы обработать в PHP, а на JS предполагается сделать костыли.

Первым делом надо посмотреть, что приходит в обоих случаях:
PHP код:

print_r($_POST); 

И еще.
Код:

<label for="enter_1">111111</label>
<input type="text" name="enter_1" id="enter_1" class="enter" size="100" />

Не нужно оборачивать поле в label.

varafat 12.04.2012 21:59

Спасибо за интерес к моему вопросу но ответ дели в другм месте...:
PHP код:

<form action="" method="post" onsubmit="return insert();"

Код:

var http = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");

var nocache = 0;

function insert() {
    document.getElementById('insert_response').innerHTML = "Just a second...";

    var page= encodeURI(document.getElementById('page').value);
    var wayimg = encodeURI(document.getElementById('wayimg').value);
    var img= encodeURI(document.getElementById('img').value);
    var atitle = encodeURI(document.getElementById('atitle').value);

    nocache = Math.random();

    http.open('get', 'insert.php?page='+page+'&wayimg='+wayimg+'&img=' +img+'&atitle='+atitle+'&nocache='+nocache);
    http.onreadystatechange = insertReply;
    http.send( null );

    return false;
}

function insertReply() {
    if ( http.readyState == 4 ) {
        var response = http.responseText;
        document.getElementById('insert_response').innerHTML = 'Site added:'+response;
    }
}



Часовой пояс GMT +4, время: 14:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.