0

我想提交我的表格。在使用第一个按钮的表单中,我通过 ajax 创建了一个文本框,然后使用第二个按钮正常提交表单。当我想使用 $_POST 获取新创建的文本框的值时,它会出错。如何在提交时获得 ajax 创建按钮的值。我的 php 代码是:

<?php`enter code here`
 session_start();
  ob_start();
require_once "config.php";
if ($_SERVER['REQUEST_METHOD']=="POST")
{
if (isset($_POST['subtest']))
    {
        print $_GET['tt'];
    }
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script type="text/javascript" src="jquery-ui-1.8.21.custom/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.21.custom/js/jquery-ui-1.8.21.custom.min.js">                     </script>

<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery("#subt").click(function(){
        jQuery("#divload").show();
        jQuery.ajax({url:"adp.php", type:"post", success:function(result){
        jQuery("#disp").html(result);
        jQuery("#divload").hide();
      }});
    return false;
    });
});

</script>

<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#subtest").click( function() {
alert(jQuery("#tt").val());
});
});
</script>
</head>


<body id="#bdy">
<form id="FrmMain" method="post" action="">
<div id="Shd" style="font: 10%;  margin: 50px; background-repeat:repeat-y; padding-       left:120px;" >
    <input type="text" id="txtFrom" name="txtFrom" />
    <input type="text" id="txtUpto" name="txtUpto" />

    <input type="text" id="txtOpt" name="txtOpt" />
    <input type="submit" id="subt" name="subt" />
    <input type="submit" id="subtest" name="subtest" />
    <div id="RuBox" style="font-weight:bold;"><input type="checkbox" id="chkaccept"   name="chkaccept"  />&nbsp;&nbsp;I accept &nbsp;<a href="terms.html" style="color:#009;">terms and    conditions</a>.</div>

    </div>
   </form>
  <div style="color:#F00; font-size:18px; display:none;" id="divload">Please wait loaidng...   </div> 
   <div id="disp"></div>
</body>
</html>

我的 adp.php 文件的代码:

<?php 
sleep(5);
?>
<div style="color:#30F; font-size:36px;">
 Application testing............
 <input type="text" id="tt" name="tt" />
 </div>

我没有以临时形式获得名为“tt”的文本框的值

谢谢

4

1 回答 1

1

您几乎没有从这里发布任何内容:

jQuery(document).ready(function(){
    jQuery("#subt").click(function(){
        jQuery("#divload").show();
        jQuery.ajax({url:"adp.php", type:"post", success:function(result){
        jQuery("#disp").html(result);
        jQuery("#divload").hide();
      }});
    return false;
    });
});

所以我假设您只想动态生成一个文本字段。你可以在不使用 ajax 的情况下做到这一点:

var form = $('#FrmMain');
$('<input>').attr({'type' : 'text', 'id' : 'tt', 'name' : 'tt'}).appendTo(form);

另外,您还尝试$_GET['tt']在表单方法为POST

if (isset($_POST['subtest']))
{
    print $_GET['tt'];
}

这也应该是:

echo $_POST['tt'];
于 2012-07-14T14:40:50.483 回答