2017-01-22 3 views
1

У меня есть DIVКак получить Div элемент Value

<div id="claimamount"></div> 

который получает значение из JavaScript

var directTime = <?=($domedo)?>; 

, который выводит в

<div id="claimamount">50</div> 

Этот DIV внутри формы, и когда Я отправлю форму Мне нужно получить значение от этого div как $ _POST

Как получить это значение при отправке формы

+0

вам нужно 'input' тег! не 'div' –

+0

+0

@john, если вы застряли с div, тогда вам нужно манипулировать отправкой формы с помощью javascript, и вы можете получить значение html с помощью javascript, как этот текст в var = $ ('# fclaimamount'). text(). – sT0n3

ответ

1

Лучший способ - использовать ввод вместо div, но вы можете добавить ввод, содержащий значение div при отправке формы. В этом случае присваивается значение созданного входа.

<form id="myfrom"> 
    <div id="claimamount">50</div> 
    <button>Submit</button> 
</form> 
$("form").submit(function(e){ 
    var val = $("#claimamount").text(); 
    $('<input />').attr('type', 'hidden').attr('name', "divValue").attr('value', val).appendTo('#myfrom'); 
    return true; 
}); 
+0

Вы получаете одну часть права, но мне нужно получить значение как $ _POST вместо представления формы jquery, которая лучше нужна в php – john

+0

@john, если форма с 'method =" post "', это будет работать нормально. – casraf

+0

Я получаю сообщение об ошибке Примечание: неопределенный индекс: ClaimAmount в ... Я думаю, что нет предопределенного значения, поскольку этот элемент div динамически получает значение из javasscript var, поэтому нам нужно определить val в нем? – john

0

Вы можете создать помощника, чтобы добавить содержимое элемента в форму

function sendElementContent(elementId, form) { 
    var input = document.createElement('input'); 
    input.name = elementId; 
    input.value = document.getElementById(elementId).textContent; 
    input.type = 'hidden'; 
    form.appendChild(input); 
} 

Использование

sendElementContent('claimamount', document.querySelector('form')); 

Это добавит скрытый вход с div#claimamount содержанием. Вы можете получить значение в $_POST["claimamount"]

Non многоразовой версии:

<script> 
var form = document.querySelector('form'); 
var claimamountDiv = document.querySelector('#claimamount'); 
form.addEventListener('submit', function() { 
    var input = document.createElement('input'); 
    input.type = 'hidden'; 
    input.name ='claimamount'; 
    input.value = claimamountDiv.textContent; 
    form.appendChild(input); 
}); 
</script> 
+0

Я плохо разбираюсь в php. Можете ли вы рассказать мне, как использовать «использование» на моей странице, а fucntion следует добавить и на эту php-страницу? – john

+0

Это не PHP, а код Javascript, я сделал вам редактирование с полным кодом, вам просто нужно добавить скрипт на свою страницу, вот и все: – Freez

+0

'$ bonval = $ _POST ['ClaimAmount']; 'приводит к Примечание: Неопределенный индекс: ClaimAmount в/ – john

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