Форма отправки

Discussion in 'PHP' started by Dr..VATSON, 9 Nov 2011.

  1. Dr..VATSON

    Dr..VATSON Elder - Старейшина

    Joined:
    7 Dec 2008
    Messages:
    51
    Likes Received:
    53
    Reputations:
    18
    Ну вот есть у меня на странице калькулятор, а там есть столбец который калькулятор уже посчитал:

    Code:
    <p class="koef"><strong>Коэффициенты:</strong></p>
    <table class="table_koef">
    <tbody>
    <tr>
    
    <td class="tdleft">по территории использования</td>
    <td>
    <div id="kf1">2</div>
    </td>
    </tr>
    <tr>
    <td class="tdleft">по сроку страхования</td>
    <td>
    <div id="kf2">1</div>
    </td>
    </tr>
    <tr>
    <td class="tdleft">бонус-малус</td>
    
    <td>
    <div id="kf3">1</div>
    </td>
    </tr>
    <tr>
    <td class="tdleft">по возрасту и стажу</td>
    <td>
    <div id="kf5">1</div>
    </td>
    </tr>
    <tr>
    <td class="tdleft">по допуску лиц к управлению</td>
    <td>
    
    <div id="kf7">1</div>
    </td>
    </tr>
    <tr>
    <td class="tdleft">по периоду использования</td>
    <td>
    <div id="kf4">1</div>
    </td>
    </tr>
    <tr>
    <td class="tdleft">по грубым нарушениям</td>
    <td>
    <div id="kf6">1</div>
    
    </td>
    </tr>
    <tr>
    <td class="tdleft">по мощности двигателя</td>
    <td>
    <div id="kf8">1</div>
    </td>
    </tr>
    </tbody>
    </table>
    И есть форма обратной связи:

    Code:
    <form action="/contact"  accept-charset="UTF-8" method="post" id="contact-mail-page">
    
    <div>Вы можете оставить сообщение, используя форму обратной связи.<br />
    <div class="form-item" id="edit-name-wrapper">
     <label for="edit-name">Ваше имя: <span class="form-required" title="Обязательное поле">*</span></label><br />
     <input type="text" maxlength="255" name="name" id="edit-name" size="60" value="admin" class="form-text required" />
    </div>
    <div class="form-item" id="edit-mail-wrapper">
     <label for="edit-mail">Ваш e-mail: <span class="form-required" title="Обязательное поле">*</span></label><br />
     <input type="text" maxlength="255" name="mail" id="edit-mail" size="60" value="avto-straxovanie2011@yandex.ru" class="form-text required" />
    
    </div>
    <div class="form-item" id="edit-subject-wrapper">
     <label for="edit-subject">Заголовок: <span class="form-required" title="Обязательное поле">*</span></label><br />
     <input type="text" maxlength="255" name="subject" id="edit-subject" size="60" value="" class="form-text required" />
    </div>
    <div class="form-item" id="edit-message-wrapper">
     <label for="edit-message">Сообщение: <span class="form-required" title="Обязательное поле">*</span></label><br />
     <textarea cols="60" rows="5" name="message" id="edit-message"  class="form-textarea resizable required"></textarea>
    
    </div>
    <div class="form-item" id="edit-copy-wrapper">
     <label class="option" for="edit-copy"><input type="checkbox" name="copy" id="edit-copy" value="1"   class="form-checkbox" /> Прислать мне копию.</label>
    </div>
    <p><input type="submit" name="op" id="edit-submit" value="Отправить почту"  class="form-submit" /><br />
    <input type="hidden" name="form_build_id" id="form-f8b5b5c2b81217531d2bb1db80519aab" value="form-f8b5b5c2b81217531d2bb1db80519aab" /><br />
    <input type="hidden" name="form_token" id="edit-form-token" value="4618486ec03b8a0213648176e56230ad" /><br />
    <input type="hidden" name="form_id" id="edit-contact-mail-page" value="contact_mail_page" /></p>
    </div>
    </form>
    Как блеть сделать так, чтобы этот подсчитанный калькулятором блок уже был вставлен в форму обратной связи :confused:

    Нужно чтобы человек просто нажал отправить и всё. Или добавил какойто текст.
     
  2. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Требуется всю таблицу отправить? Если да - то:
    1) без jQuery - обходи рекурсивно всю эту таблицу.
    Только задай ей ещё id = "table_koef"
    Code:
    var table = '<table>';
    
    var rows = document.getElementById('table_koef').getElementsByTagName('tr');
    
    	for (var i = 0; i < rows.length; i++)
    	{
    		table += '<tr>';
    		var cells = rows[i].getElementsByTagName('td');
    		
    		for (var s = 0; s < cells.length; s++)
    		{
    			
    			table += '<td>' + cells[s].innerHTML + '</td>'; 
    		}
    		
    		table += '</tr>';
    	}        
    table += '</table>';
    
    В итоге в переменной table будет собрана такая же таблица, потом вставь table в value какого-нибудь hidden-поля внутри формы.

    2) если c jQuery - там проще.
    Code:
    var table = '<table>' + $('#22').html() + '\n</table>';
    
    Аналогичные действия.

    Это более быстрый способ.

    3) А можно вместо, например, <div id="kf1">2</div> писать <div id="kf1"><input type="hidden" name="kf1" value="2" />2</div>

    И писать это внутри формы. Тогда в $_POST['kf1'] сможешь поймать соответствующее значение. Но, повторюсь, тогда таблицу внутри формы генери.
     
    1 person likes this.
  3. Dr..VATSON

    Dr..VATSON Elder - Старейшина

    Joined:
    7 Dec 2008
    Messages:
    51
    Likes Received:
    53
    Reputations:
    18
    Огромное спасибо FindeR!

    Весь код был переписан по другому, теперь всё найс.