私はこのフォームを持っています
あなたのメール受信者のメール
件名
メッセージ
このデータを送信して別のページに移動するにはどうすればよいですか (タグ付けされた言語のいずれかを使用)。助けてください。
私はこのフォームを持っています
あなたのメール受信者のこのデータを送信して別のページに移動するにはどうすればよいですか (タグ付けされた言語のいずれかを使用)。助けてください。
あなたの質問が正しければ、あなたの答えは次のようになります。
送信ボタンは次のようにする必要があります。
<form method="POST" action="file.php">
<!-- Whatever data you want to submit -->
<input type="submit" value="Submit">
</form>
また、PHP file.php は次のようにする必要があります。
<?php
if(isset($_POST['submit']))
{
//Do all the submission part or storing in DB work and all here
header('Location: whateverpath.php');
}
?>
これがあなたが望んでいたものかどうか教えてください
PHPのみを使用して作業を行っている場合は、次のコードを使用して別のページにリダイレクトします。
header('Refresh: 5; URL= navigated.php');
ここで、5はリダイレクトする更新タイマーであり、URLは行きたい場所を定義します。このヘッダー関数の前にechoステートメントを記述しないでください。
javascriptまたはjqueryで実行する場合は、最後に次の行を追加します。
window.location.href=navigated.php;
ここで、navigateed.phpは、リダイレクトしたいページです。
幸運を!
ページ A からページ B (PHP) に移動してからページ C に移動する代わりに、A から B に ajax 投稿を送信し、検証してからページ C に直接進むこともできます。これの利点は、サーバー側で実行できることです。検証 (ページ B で発生) を行い、ページ A を離れたりリロードしたりせずにユーザーに警告します。そうしないと、A から B に移動してから A に戻る必要があります。
<script>
$(function() {
$('form').submit(function() {
//Initial validation
if($('#input1').val()=="")
{
alert("field is blank!");
return false
}
//After validating form, send to page B
$.post('PageB.php', {
'field1': $('#input1').val(),
'field2': $('#input2').val()
//etc
}, function (data) {
//Validate the response from Page B
if (data!="success")
{
alert("Error:"+data);
}
else
{
//Go to Page C if Page B was successful
window.location.href = "nextpage.html";
}
});
return false;
});
</script>
JQuery と AJAX を使用し、JSP サーブレットや PHP などのサーバー側スクリプトを使用するのは非常に簡単です。私の場合、JSP をサーバー側スクリプトとして利用し、JQuery の AJAX サポートをサーバー側スクリプトに送信しています。
サーバー側コンポーネントのコードはここに入る..
page2.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1 style="color:red">Contents from Page 2</h1>
<%=request.getParameter("parmeter")%>
</body>
</html>
クライアント サイド スクリプトのコードはここに記述します。
pag1.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script>
function submitRequest(){
var v= document.getElementById("test1").value;
alert(v);
$.ajax({url:"page2.jsp?parmeter="+v,
error: function (xhr, ajaxOptions, thrownError) {
alert("fail");
alert(xhr.status);
alert(thrownError);
},
success:function(result){
alert("sucesses");
$("#mydiv").html(result);
}
});
}
</script>
</body>
<form>
<!-- Whatever data you want to submit -->
<input type="text" id="test1"><br>
<input type="button" value="Submit" onclick="submitRequest()">
</form>
<div id="mydiv">
Contents of Page 2 jsp will be displayed here
</div>
</html>
送信をクリックすると、テキスト ボックスに入力された内容が関数に送信され、submitRequest()
この関数は他のページへの AJAX 呼び出しを行い、page2.jsp に要求を送信します。page2.jsp は受け取ったパラメーターを表示するだけなので、上記のように AJAX コールバック関数内で成功のためにコーディングすることで、現在のページに page2 の結果を表示することを選択できます。
現在のページのコンテンツを、AJAX リクエストを通じてリクエストされたページに置き換えます。他のページに詳細を提出することができることを示しています