Jquery,PHP点击后调用其他表单

时间:2013-01-06 01:40:30

标签: php javascript jquery forms

我刚刚学习javascript的最后几天(几个月前开始使用PHP)。

所以,我的代码是这样的:

例如

 http://controljuridico.com/video01/

我有三个文件。

  1. 带有表单的Html文件。

  2. 点击“enviar”(发送)按钮后带有这些功能的javascript文件。

  3. 处理数据的php。

  4. HTML文件(index.html)

            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
           "http://www.w3.org/TR/html4/strict.dtd">
    
           <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
            <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>index</title>
    <link href="css/css.css" type="text/css" rel="stylesheet" media="screen" />
    <script src="js/jquery.js" type="text/javascript" language="JavaScript"></script>
    <script src="js/js.js" type="text/javascript" language="JavaScript"></script>
        </head>
          <body>
       <div id="content">
        <h1>Test.</h1>
        <h1>Step 1) choose city</h1>
        <br />
        <br />
        <label>test(*)</label>
        <hr />
        <br />
        <form name="form_data" id="form_data">
    
            <label>(*) City</label>
            <br />
            Medellin
            <input type="radio" name="ciudad" value="Medellin" />
            Manizales
            <input type="radio" name="ciudad" value="Manizales"/>
            Cali
            <input type="radio" name="ciudad" value="Cali"/>
            <br />
            <label>(*) Especialidad</label>
            <br />
            <input type="button"  value="Enviar" id="btn_enviar" /> 
            <br />
            <br />
            <label id="mensaje"></label>
        </form>
        <div id="resultado" ></div>
            </div>
                   </body>
                </html>
    

    js.js文件

           $(document).ready(function(){
       $('#btn_enviar').click(function(){
    
        if( validaRadio( 'ciudad','Ciudad' ) == false) return false;
    
    
        $.ajax({
            type:'POST',
            url :'upload.php',
            data: $('#form_data').serialize(),
            beforeSend : function(){
                $('#mensaje').html('Enviando datos...');
            },
            success: function (data){
                            $('#mensaje').html('Datos enviados  correctamente.');
                    $('#resultado').html(data); 
            },
            complete: function(){
                 $('#form_data').slideUp();
                 $('#resultado').slideDown();
    
            }
        });
    
            }); 
    
    
              });
    

    Php文件(upload.php)

     <?php
    
      $sergu = $_POST['ciudad'];
       if ($_POST['ciudad'] == "Medellin") {
        ?>
        <label>Ciudad Ingresada:</label>
        <br />
        <label><?php echo $_POST['ciudad'] ?></label>
        <hr />
        <?php
        }else{
        echo "it is not medellin....";
    
       }
           ?>
    

    所以,这很好用但是。如果我想要这个怎么办:

    点击“enviar”按钮后,还会在此表单的左侧显示另一个类似的表单。

    我的意思是它就像选择步骤一样,如果你选择第一步我需要另一步等等,我希望这另一步只是出现在previus形式的左边。

    有可能吗?如何?

    提前感谢您的帮助!我真的很感激。

2 个答案:

答案 0 :(得分:0)

例如,当页面首次通过css加载时,您可以隐藏“第二个表单”,如下所示:

<form id="second_form" style="display: none">...

当你的成功函数触发时你就像这样删除css:

success: function(){
  ...
  $('#second_form').show();
}

答案 1 :(得分:0)

简答:是的。

在jquery中,有.insertBefore()。一种简单的方法来实现你(想要的)只是在php中回显出新的表单,而不是

$('#resultado').html(data);

执行以下操作:

$(data).insertBefore('#resultado');

这将插入新的表单,由PHP回显,之前的。当然你还必须删除

$('#form_data').slideUp();

否则,表格将被隐藏。