2014-03-08 3 views
0

У меня есть форма с текстовым полем.PHP Form Submit Loop

The textarea has multiple words separate by a comma, see below... 

<form method="post" action="send.php"> 
    <textarea>data1, data2, data3</textarea> 
    <input type="submit" value="submit" /> 
</form> 

Что мне нужно сделать, это создать какой-то цикл, в котором форма получает представленный несколько раз ...

Каждый раз, когда это будет посылать другое значение из текстового поля.

Например:

Start: 

1. data1 .. Submit 
2. data2 .. Submit 
3. data3 .. Submit 

End. 

Есть ли способ сделать это в PHP или PHP и JavaScript?

+2

Он будет подавать только один раз. Используйте AJAX. – PHPglue

ответ

-1

Есть ли причина, по которой вы хотите отправить несколько раз?

Самый простой способ сделать это заполнив все значение текстового поля и затем PHP пролил его, используя «» в качестве разделителя и обрезать пробелы

<form method="post" action="send.php"> 
    <textarea name="textboxdata">data1, data2, data3</textarea> 
    <input type="submit" value="submit" /> 
</form> 

<?php 
    $textboxarray = array_map('trim',explode(",",$POST['textboxdata'])); 
?> 

ВЫВОД

Array 
( 
    [0] => data1 
    [1] => data2 
    [2] => data3 

) 
+0

нет, вы можете написать его вот так .... возможно, вам стоит попробовать –

+3

почему бы не использовать: '$ textboxarray; '='; {'trim'; explode (",", 'ksjhfdm, asdkfjh, asdfas, df');}; 'вместо этого? по крайней мере, у вас нет ошибок. –

+2

Текст выделен жирным шрифтом, используя '** ваш текст **', однако ваш текущий код просто приводит к странному многомерному массиву – PeeHaa

1

псевдокод:

$('#my-form').on('submit', function(e) { 
    var $this = $(this), 
     data = $this.find('textarea').text().split(','); 

    data.forEach(function(item, index, array) { 
     $.ajax({ 
      url : $this.attr('action'), 
      data : item, 
      type : $this.attr('method') 
     }); 
    }); 
}); 
+0

Это не псевдокод, это просто код;) –

1

Конечно. получить ссылку на текстовое поле (также можно сделать по id, если хотите).

var text = document.getElementsByTagName('textarea')[0].innerHTML 
var separated = text.splt(','); 
for(var a = 0 ; a < separated.length ; a++){ 
    //SENDREQUEST IS A FUNCTION YoU HAVE TO BUILD. 
    sendRequest(separated[a].trim()); 
}