У меня есть форма с текстовым полем.
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?
Есть ли причина, по которой вы хотите отправить несколько раз?
Легкий способ сделать это - убрать все значение текстового поля, а затем пролить его 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
)
$textboxarray; '=' ;{'trim'; explode(",",'ksjhfdm,asdkfjh,asdfas,df');};
вместо? по крайней мере, вы не получаете ошибок
Конечно. получить ссылку на текстовое поле (также можно сделать по 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());
}
Псевдокод:
$('#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')
});
});
});