У меня есть форма со скрытым вводом:
<input id="producten" type="hidden" name="producten" value="<div class='simpleCart_items'></div>"/>
Я хочу получить контент, находящийся между div, и использовать этот контент для отправки с помощью формы. Это содержимое создается при загрузке страницы. Теперь он делает фактический код (<div etc></div
).
Надеюсь, кто-то может мне помочь! Я знаком с PHP и javascript.
благодаря
Без jQuery вы можете сделать что-то вроде этого:
<script type="text/javascript">
function formBeforeSubmit()
{
document.getElementById('producten').value = document.getElementById('simpleCart_items').innerHTML;
return true;
}
</script>
<div id="simpleCart_items">myContent</div>
<form action="..." method="POST" onsubmit="formBeforeSubmit();">
<input id="producten" type="hidden" name="producten" value=""/>
<input type="submit" value="Send" />
</form>
Но не помещайте весь div в значение поля ввода.
Если вы хотите извлечь содержимое между этими div
в PHP
вы можете попробовать это
$str = "<div class='simpleCart_items'>hello world</div>";
$str = substr($str, 30);
$str = substr($str, 0, -6);
echo $str; // hello world
Если у вас есть возможность вычеркнуть элемент из значения, то это самое лучшее, что нужно сделать, то есть (что-то вроде того, что было предложено в web -nfo.com.
Если нет, вы можете сделать это с помощью чистого JS:
var el = document.getElementById('producten').value;
var parser = new DOMParser();
var doc = parser.parseFromString(el, "text/xml");
document.getElementById('producten').value = doc.firstChild.innerHTML;
или
Если у вас есть доступ к jQuery, вы можете сделать это:
var el = $('#producten').val();
var elVal = $(el).text();
$('#producten').val(elVal);