1

我想从主页提交表单到子域页面。这是我的代码

html - 主页(主域)

<table>
    <tr>
        <td>Name</td>
        <td><input type="text" name="txtName" id="txtName" /></td>
    </tr>
    <tr>
        <td>Email</td>
        <td><input type="text" name="txtEmail" id="txtEmail" /></td>
    </tr>
    <tr>
        <td><input name="btnSubmit" id="btnSubmit"  value="Submit" type="button"></td>
    </tr>             
</table> 

<form id="getDetails" method="post" action="http://customers.liyyas.com/">
    <input type="hidden" name="act" value="Users" />
    <input type="hidden" name="hdnName" id="hdnName" />
    <input type="hidden" name="hdnEmail" id="hdnEmail" />     
</form>  

脚本

<script type="text/javascript"> 
$(document).ready(function(){
    $('#btnSubmit').click(function()
        {
          alert("hai");
            document.getElementById("getDetails").submit();
            document.getElementById("hdnName").value = $('#txtName').val();
            document.getElementById("hdnEmail").value = $('#txtEmail').val();
     });
    });  
 </script>

子域页面 - user.php

<?php 
$act = formatstring($_POST['act']);
switch($act)
{
case "Users":
        $Name=$_POST['hdnName'];
        $Email=$_POST['hdnEmail'];  
        print($Name);
        exit();
}    
?>

在子域中,我正在打印值但不打印

是否可以将表单从主域提交到子域?

4

1 回答 1

2

您需要将表单元素的 action 属性从

http://customers.liyyas.com/

http://customers.liyyas.com/customers.php

我还假设您知道根据此代码

$('#btnSubmit').click(function()
    {
      alert("hai");
        document.getElementById("getDetails").submit();
        document.getElementById("hdnName").value = $('#txtName').val();
        document.getElementById("hdnEmail").value = $('#txtEmail').val();
 });

表单将在 hdnName 和 hdnEmail 的值更改之前提交?这也可能是您通过切换几行来快速切换求解的错误。这可能是一个错误的原因是,当您的表单提交时,页面将被重新加载,这意味着用户将永远无法看到通过 JavaScript 插入的新值。

修复可能是

$('#btnSubmit').click(function()
    {
      alert("hai");
        document.getElementById("hdnName").value = $('#txtName').val();
        document.getElementById("hdnEmail").value = $('#txtEmail').val();
        document.getElementById("getDetails").submit();
 });
于 2012-11-28T11:01:30.647 回答