0
<?
session_start();
include("connection.php"); 

if($_POST['continue']) 
{
    $x=$_POST['rules'];
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="jquery-ui-1.7.2.custom.css" rel="stylesheet" />
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript" src="ui/ui.core.js"></script>
    <script type="text/javascript" src="ui/ui.draggable.js"></script>
    <script type="text/javascript" src="ui/ui.resizable.js"></script>
    <script type="text/javascript" src="ui/ui.dialog.js"></script>
    <script type="text/javascript" src="external/bgiframe/jquery.bgiframe.js"></script>

    <script type="text/javascript">

    function haha(form) 
    {    
        if(form.rules.value=='')
        {
            printToPage('output','Please enter the rules.','text')
            hello();
            return false;               
        }
        else
        {
            myRedirect();
            return false;
        }
    }

    $(function() 
    {
        $("#dialog").dialog({
            autoOpen: false,
            bgiframe: true,
            resizable: false,
            draggable: false,
            height:10,
            width:340,
            modal: true,
            overlay: 
                    {
                       backgroundColor: '#000',
                       opacity: 0.5
                    },
            buttons: 
                    {
                       'No': function() 
                        {
                           window.location = "so-rules.php";
                           return true;
                        },
                       'Yes': function() 
                        {
                           window.location = "so-rules.php";
                           return true;
                        }
            }
        });
    });

    function myRedirect() 
    {
       $("#dialog").dialog('open');
       return true;
    }

    $(function()
    {
       $("#dialog2").dialog
             ({
            autoOpen: false,
            bgiframe: true,
            modal: true,
            resizable: false,
            draggable: false,
            height:160,
            width:260,
            buttons: 
                    {
                        Ok: function() 
                        {
                            $(this).dialog('close');
                        }
                    }
        });
    });

    function hello() 
    {
       $("#dialog2").dialog('open');
    }

    function getElem(id) 
    {
        return document.all ? document.all(id) :
        document.getElementById ? document.getElementById(id) :
        document.layers ? document.layers[id] :
        null;
    }

    function printToPage(id,content,classname) 
    {
       var el = getElem(id);

       if (!el) return;

       if (el.style) 
       {
          el.innerHTML = content;

          if (classname) el.className = classname;
       }
       else if (el.document) 
       {
          var SPANstr = (classname) ? '<span class="' + classname + '">' : '<span>';
          el.document.write('haha');
          el.document.close();
       }
    }
    </script>

</head>

<body>


   <td height="" bgcolor="#fafb91"><form onsubmit='return haha(form)' id="form" name="form" method="post" action="<? echo $PHP_SELF; ?>"> 
          <p class="style16">
          <div align="left">

            <p><span class="style5">Rules:</span>
              </p>

            <p>
              <textarea name="rules" rows="7" cols="49"></textarea>

              <br />
              <? echo "X: ".$_SESSION['x']; ?>
            </p>
            <div id="dialog" title="Attention">
            <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Is the judge/speaker/facilitator from UST?</p>
            </div>

            <div id="dialog2" title="Attention">
            <p>
            <span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 0 50px 0;"></span>
            Please enter the rules.
            </p>
            </div>

            <p><input type="submit" name="continue" id="continue" value="Continue"> 
            <span id="output"></span>

</body>
</html>

当 textarea 不为 null 时,应该提交表单($PHP_SELF),这样我才能得到 textarea 的值。但在提交之前,会出现一个对话框。当用户单击是时,他将被重定向到不同的页面。我的问题是我不知道将 return 'true' 放在哪里,以便提交页面以便我获取 textarea 的值。我把返回“假”放在这里:

if(form.rules.value=='')
{
   printToPage('output','Please enter the rules.','text')
   hello();
   return false;    
}

当 textarea 为空时,表单将不会提交,并会出现一个不同的对话框。我应该把返回“true”放在哪里,以便只有当用户在 textarea 中输入内容并单击“是”后才会提交页面。

我已经发布了我尝试输入返回“true”但没有成功的代码。

4

4 回答 4

0

如果是 type="button" 使用 onclick 事件来控制动作

于 2009-09-12T15:04:03.177 回答
0

按钮输入用于通常用 JavaScript 编写的自定义操作。也就是说,他们不会像提交输入那样提交表单。您可以编写一个 JavaScript 代码来为您提交表单或导航到特定的 PHP 页面并实现类似的效果。

于 2009-09-12T15:04:07.190 回答
0

如果您要问的是:我如何在 POST 响应中看到单击了哪个按钮?

那么恐怕您不能仅将用于提交表单的提交按钮的名称和值列在$_POST数据中。

但是,您可以使用隐藏字段和 javascript 来实现此目的。所以你应该做类似的事情:

<input type="button" id="continue" value="Continue" onclick="document.getElementById('hiddenContinue').value = 'true';" />
<input type="hidden" name="continue" id="hiddenContinue" value="false" />

因此,当单击按钮时,隐藏字段设置为 true,并且当提交表单时,它会出现在$_POST数组中。

但是,如果没有其他 onclick 事件添加到按钮,这没有多大意义。

也许您应该多描述一下您正在尝试做的事情。

编辑

由于您将旧问题更新为新问题,因此此答案不再适用。

于 2009-09-12T15:04:46.903 回答
0

我想知道你为什么使用“按钮”而不是“提交”?当您使用 JavaScript 时,“按钮”会派上用场,但它不适用于 PHP。此外,无论如何,它们没有任何区别。
如果您只想区分按钮,请尝试给它们起不同的名称。
希望有所帮助

于 2009-09-12T15:08:34.173 回答