2015-05-25 3 views
0

У меня есть форма, как показывают по следующему коду в HTML 5.отправить почтовые данные по нажатию кнопки с помощью Javascript

<form name='removeTen' method='POST' action='notRemove.php'> 
<table id='tender'> 
<thead> 
<tr><th></th> 
<th><input id='selectAll' type='checkbox'></th> 
<th>Notice Title</th> 
<th>Edit </th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td>1</td> 
<td><input type="checkbox" name="ten[]" value="1"</td> 
<td>somedata1</td> 
<td><input type = 'button' value = 'Edit' name ='1' ></td> 
</tr> 
<tr> 
<td>2</td> 
<td><input type="checkbox" name="ten[]" value="2"</td> 
<td>somedata1</td> 
<td><input type = 'button' value = 'Edit' name ='2' ></td> 
</tr> 
</tbody></table><p><input type=reset value='Reset'> 
<input type=submit value='Submit'></p> 
</form> 

Теперь я хочу, чтобы перенаправить на другую страницу notEdit.php с почтовыми данными, содержащиеся в названии кнопки, когда я нажимаю кнопки Edit. Я также хочу сохранить функциональность формы, используя кнопку submit. Я добавил следующий код Javascript:

var buttons = document.getElementsByName("edit"); 
for(var i = 0, count = buttons.length; i<count; i++){ 
    buttons[i].attachEvent("click", submit); 
} 

Теперь в функции submit я могу добавить window.location перенаправить на другую страницу. Но как я могу прикрепить данные сообщения?

+0

с или без AJAX? – Vandervals

+0

Почему бы не установить действие формы на «notEdit.php»? который автоматически разместит ваши данные на странице notEdit.php. –

+0

@ Вандервалы без аякса. – Blip

ответ

1

в функции обработчика щелчка, получите номер строки от имени кнопки клика. установите это в поле ввода другой формы и подайте триггер на эту форму.

function submit(e){ 
    //get the clicked button's "name" attribute value. 
    var row_no = e.currentTarget.name; 
    alert(row_no); 

    //set the value to the edit form 
    var row_no_element = document.querySelector("input[name=row_no]"); 
    row_no_element.value = row_no; 

    //submit the edit form. uncomment this line to submit. 
    //document.getElementById("editForm").submit(); 
} 

var buttons = document.querySelectorAll("input[type=button]"); 
for(var i = 0, count = buttons.length; i<count; i++){ 
    buttons[i].addEventListener("click", submit); 
} 

Новая форма будет представлен для редактирования:

<form id="editForm" action='notEdit.php' method="POST"> 
    <input type="hidden" name="row_no" /> 
</form> 

JSFiddle (с коррекцией HTML): http://jsfiddle.net/xfLa3tnb/

0
<form name='actionForm' method='POST' action='actionEditOrRemove.php'> 

Использовать скрытый ввод для передачи действия (редактировать или удалять).

+0

Я не хочу изменять действие формы, поскольку 'notRemove.php' удаляет выбранные элементы из базы данных, а' notEdit.php' редактирует отдельные элементы в новой форме. – Blip

+0

Я обновил ответ, чтобы удовлетворить это требование. Это то, что вы рассматриваете? –

+0

Вы хотите сказать, что я передаю сообщение в новый файл php 'actionEditOrRemov.php'? Но как определить, какая кнопка кнопки была нажата, чтобы открыть окно редактирования? – Blip

Смежные вопросы