2013-12-04 3 views
1

У меня вопрос к коду JavaScript. Я получил HTML-форму:Как получить JavaScript .value, работающий в PHP echo

<form action="getValue.php" method="post" id="myform"> 
    <input type="text" id="mybox" name="mybox" /> 
    <input type="submit" id="submit" name="submit" value="Submit" /> 
</form> 

Я хочу предупредить значение, нажав кнопку отправки. Для этого я использую этот код:

$(document).ready(function(){ 
    $('#myform').submit(function(event){ 
     alert(document.getElementById('mybox').value); 
    }); 
}); 

Если я набираю, например, «123», он предупреждает «123». Хорошо, это работает. Теперь я хочу запустить этот код JavaScript в PHP echo. Для этого я пробовал это:

if(isset($_POST['submit'])){ 
    echo "<script>alert(document.getElementById('mybox').value);</script>"; 
} 

Если я сейчас набираю «123», он возвращает «». Поэтому ничего не возвращается. Может кто-нибудь объяснить мне, почему это или как это исправить?

Приветствия

EDIT: это все в одном файле (getValue.php)

+2

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

+0

В чем проблема с '$ _POST ['mybox']' то же самое, что вы пытались сделать. –

+0

Должен сказать: я новичок в PHP и JavaScript, это для меня проверка. Если я напишу '$ (document) .ready' function ничего не случится – Roman

ответ

4

Ваше текстовое поле не будет заполняться, когда страница была перезагружена.

Попробуйте отобразить фактическую стоимость сообщения.

if(isset($_POST['submit'])){ 
    echo "<script>alert('" . $_POST['mybox'] . "');</script>"; 
} 

Edit:

Как вы указали, что вы были знакомы с PHP & JavaScript Я думал, что я упомяну, что вы, кажется, использует половину JQuery и половину не-JQuery ...

Например, вместо того, чтобы использовать

document.getElementById('mybox').value 

Вы можете использовать

$('#mybox').val(); 
+0

Наверное, хочу процитировать его, если мы только используем 123 –

+0

@DaggNabbit, вы правы, пропустили это, но теперь добавили его. – Ryan

+0

Он не работает с '$ ('# mybox'). val();' но ваш первый код работает отлично :) Спасибо! Просто интересно, почему это не работает с 'jQuery'' .val() 'function – Roman

0
echo '<script type="text/javascript">alert("Data has been submitted to ' . $_POST['mybox'] . '");</script>';