2015-03-25 2 views
-2

Моя цель - напечатать значение, введенное в Firstpage.html, в basicform.html с использованием GET или POST.Печать значения с использованием GET или POST

Мне нужно, чтобы это было сделано только с использованием Html и JavaScript или Ajax.

Код для Firstpage.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript"> 
function result() 
{ 

     var x=document.forms["fom"]["name"].value; 

    $_GET[0]=x; 
} 

</script> 
</head> 

<body> 
<form method="get" action="basicform.html" name="fom"> 
Your name: <input type="text" id="name" name="name" size="25" /> <br /> 

<input type="submit" value="submit" onclick="result()" /> 
</form> 
</body> 
</html> 

Это код в basicform.html

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 


<script> 
function loaad() 
{ 
    var name = $_GET[x]; 
    if(isset($_get(submit))) 
    { 
     document.write(name); 
    } 

} 
</script> 
<body onload="loaad();"> 
</body> 
</html> 
+0

Ваш запрос как: «У меня есть запрос к базе данных, чтобы получить несколько элементов, хранящихся в таблице. Но PLS не использует SQL. " – OddDev

+1

$ _GET - супер глобальная переменная PHP, ее не применимо в html-файлах ..! –

+0

Для этого можно использовать 'Localstorage'.Метод, который вы используете, неверен. '$ _GET' никаких методов javascript. Вы должны получить за это ошибку. – Manwal

ответ

0

Я выполнил задачу успешно используя localStorage.

Код для Firstpage.html

<script> 
function store() 
{ 

    if(localStorage) 
    { 

     document.getElementById("contactForm").addEventListener("submit", 


     function() 
     { 
      var name = document.getElementById("name").value; 

      localStorage.setItem('name',name); 

      var age = document.getElementById("age").value; 
      localStorage.setItem('age',age); 

     }) 


    } 

} 

</script> 
</head> 

<body> 
<form id="contactForm" action="result.html" method="POST" > 

    <label for="name">Name</label> 
    <input type="text" name="name" id="name"> 

    <label for="Age">Age</label> 
    <input type="text" name="age" id="age"> 

    <input type="submit" value="send" onclick="store()"> 

</form> 
</body> 

и result.html является

<script> 
window.onload= function() 
{ 
    var x =localStorage.getItem('name'); 
    var y=localStorage.getItem('age'); 
    if((x !="undefined") || (x!="NULL")) 
    { 
     document.getElementById("ret").innerHTML="hello "+x+" your are "+y+" years old"; 

    } 
} 
</script> 
</head> 

<body> 
<div id="ret" style="position:absolute; left:400px; top:200px; height:400px; width:400px; text-align:center"> 
Result 
</div> 
</body> 
0

Если вы хотите получить GET параметр из Javascript использовать эту функцию:

function getUrlParameter(sParam) 
{ 
    var sPageURL = window.location.search.substring(1); 
    var sURLVariables = sPageURL.split('&'); 
    for (var i = 0; i < sURLVariables.length; i++) 
    { 
     var sParameterName = sURLVariables[i].split('='); 
     if (sParameterName[0] == sParam) 
     { 
      return sParameterName[1]; 
     } 
    } 
} 

Код: Get url parameter jquery Or How to Get Query String Values In js

Тогда просто используйте:

var name = getUrlParameter('x'); 
//assuming url: http://yoursite.copm/?x=test 
document.write(name); 
+0

Его работы. Спасибо за помощь – Rookie

+0

Умм, пожалуйста, предложите мне код, в котором я могу использовать как Get, так и POST для печати значений, представленных в первой форме. – Rookie

0

Вы можете получить только параметры GET с помощью JavaScript. Если JavaScript смог получить доступ к пост-переменным, это создало бы риски безопасности. Вот как вы могли бы получить параметры GET с помощью JS.

var $_GET = {}, args = location.search.substr(1).split(/&/); 
for (var i=0; i<args.length; ++i) { 
    var tmp = args[i].split(/=/); 
    if (tmp[0] != "") { 
     $_GET[decodeURIComponent(tmp[0])] = decodeURIComponent(tmp.slice(1).join("").replace("+", " ")); 
    } 
} 
+0

Umm can u, пожалуйста, предложите мне код, в котором я могу использовать как Get, так и POST для печати значения, представленные в первой форме – Rookie

0

Ваша форма отправки данных с использованием get (отличное от РНР $_GET). Это означает, что отправленные значения будут отображаться в адресе веб-страницы, на которую отправляется форма, - нет необходимости в JS на этой странице. Например, отправить форму firstpage.html вы можете добраться до:

basicform.html?name=Bob 

Это хорошо работает, поскольку JavaScript может получить эти параметры (не очень чисто, но это возможно). Надень basicform.html:

function getQueryParams(qs) { 
    qs = qs.split("+").join(" "); 

    var params = {}, tokens, 
     re = /[?&]?([^=]+)=([^&]*)/g; 

    while (tokens = re.exec(qs)) { 
     params[decodeURIComponent(tokens[1])] 
      = decodeURIComponent(tokens[2]); 
    } 

return params; 
} 

var query = getQueryParams(document.location.search); 

Тогда вы будете использовать переменную query распечатать значение имени.

document.write(query.name); 

getQueryParams функция от here on SO.

Также, причина использования $_GET не вызывала ошибок в том, что это formed like any other valid JavaScript variable name. Тем не менее, это просто так же, как и любая переменная JS, и не имеет никакого отношения к переменной PHP $_GET.

+0

Спасибо, что ваш код работает как шарм – Rookie

+0

Умм, пожалуйста, предложите мне код, где я могу использовать как Get, так и POST для печати значений, представленных в первой форме. – Rookie

+0

JavaScript не может напрямую обращаться к данным 'POST'. Если yu нужна форма для отправки 'POST' вместо' GET', вам нужно включить хотя бы некоторый 'PHP' на страницу' basicform.html' (будет 'basicform.php'). См. [Этот пост для более подробной информации] (http://stackoverflow.com/a/11799118/1265817). – DACrosby

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