代码如下:
<textarea id="clienttext" name="clienttext" rows="4" cols="30"></textarea><br/><br/>
<input type="submit" id="clientsbt" value="发送" /><br/>
<?php
$ip=$_SERVER[REMOTE_ADDR];
$strval=$_POST[clienttext];
$clientmsg=$_POST[clienttext];
if($_POST[clientsbt]) {  echo $clientmsg; }
$scc=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_connect($scc,"$ip",5858);
socket_write($scc,"余",strlen("余"));
?>
如上,我想当按钮点击后,用PHP输出clienttext的值,但这不是一个表单,这是在同一个页面上的,能实现么?

解决方案 »

  1.   

    你不用表单,就只能用ajax的方式,无论如何你只要能传参就可以!
      

  2.   

    不用表单无法和后台通过POST方式通信,但是可以用GET,比如这样:
    <a href="socket.php?clienttext=aaa&submitsbt=tj">发送</a>
      

  3.   

    忽略了一条,用JS的AJAX框架也可以,其实原理也是一样的。
    请参考:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
    <head>
    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
    <script type="text/javascript">
    $(function(){
      $("#clientsbt").click(function(){
         $.ajax({
       url:'noform.php',
       cache:false,
       type:'post',
       data:{"tj":"tijiao","clienttext":$("#clienttext").val(),"clientsbt":$("#clientsbt").val()},
       success:function(data){alert(data);},
       error:function(e,y){alert(y);}
     });
    });
     });
    </script>
    </head>
    <body>
    <textarea id="clienttext"  rows="4" cols="30"></textarea><br/>
    <input type="submit" id="clientsbt" value="发送"><br/>
    </body>
    </html>
    <?php
    if(isset($_POST['tj'])&&$_POST['tj']=='tijiao')
    {
    $ip=$_SERVER['REMOTE_ADDR'];
    $strval=$_POST['clienttext'];
    die($strval."#".$_POST['clientsbt']);
    //$clientmsg=$_POST['clienttext'];
    if($_POST['clientsbt']) { echo $clientmsg; }
    $scc=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    socket_connect($scc,"$ip",5858);
    socket_write($scc,"余",strlen("余"));
    }
    ?>
      

  4.   

    $scc=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    socket_connect($scc,"$ip",5858);
    socket_write($scc,"余",strlen("余"))我是个菜鸟 想问一下  这段代码是什么意思?
      

  5.   

    onclick的时候你只需要通过ajax(如果你是想要通过post方式传值)或者跳转访问的方式将参数传给本页面就可以了,如:
    ajax不说了跳转
    <script>
    //onclick时候
    function _onclick(){
    document.href = "本页面?var_name=" + document.getElementById("input_id").value; 
    }
    </script>//php code<?php...
    if(isset($_GET['var_name'])){
    echo $_GET['var_name'];
    }
    ?>答题思路就是这样的