-5

我有这个表格

您的电子邮件

收件人电子邮件

主题

消息

我如何提交这些数据并转到另一个页面(使用任何标记的语言)?请帮忙。

4

4 回答 4

5

如果我的问题是正确的,那么您的答案将是:

您的提交按钮必须是这样的:

<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');
   }
?>

让我知道这是否是您想要的

于 2013-02-03T05:30:10.873 回答
1

如果您只使用 PHP 来完成任务,请使用以下代码重定向到另一个页面。

header('Refresh: 5; URL= navigated.php'); 

在这里,5 是重定向的刷新计时器,URL 定义了你想去的地方。不要忘记一件事,永远不要在这个头函数之前写一个回显语句。

如果您想通过 javascript 或 jquery 执行此操作,请在末尾添加以下行。

window.location.href=navigated.php;

在这里,navigated.php 是您要重定向的页面。

祝你好运!

于 2013-02-03T06:36:07.807 回答
1

从页面 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>
于 2013-02-03T08:49:30.853 回答
0

使用 JQuery 和 AJAX 以及 JSP servlet 或 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>

客户端脚本的代码在这里..

页面1.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 请求请求的页面。表明我们可以将详细信息提交到其他页面

于 2013-02-03T11:01:47.710 回答