0

フォームを送信したい。最初のボタンを使用したフォームで、ajax を使用してテキスト ボックスを作成し、その後、2 番目のボタンを使用してフォームを通常どおり送信します。$_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 に答える