用php做了一个登陆界面,登陆成功后打开另外的窗口,否则重新显示登陆界面.现在是登陆窗口中的用户名和密码的值不能传递给主界面.用IE浏览器打开可以传递,(在delphi中就只用了一句:webbrowser1.Navigate('http://localhost').若要传递登陆窗口中文本框的值,应该在程序中怎么写呀?登陆窗口的.php用webbrowser来显示,其他的窗口不用.按纽也是php中的按纽,并非delphi中的按纽.)
webbrowser中打开的页面和用IE浏览器打开的页面,提交数据是不相同的吗?有什么区别?

解决方案 »

  1.   

    webbrowser1.Navigate('http://localhost'+'?id='+Edit1.text).
      

  2.   

    to SuanAddMiao:
        编辑框是php(网页中的用户名和密码编辑框)中的,并非delphi另加的编辑框。在这种情况下应该怎样传递编辑框的值啊?
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Docs, ovElements: OleVariant;
      i: integer;
    begin
      WebBrowser1.Navigate('http://www.csdn.net/member/login.asp');
      while WebBrowser1.ReadyState < READYSTATE_COMPLETE do
        Application.ProcessMessages;  Docs := WebBrowser1.OleObject.Document;
    //-- <input name=login_name ID="login_name">
      ovElements := Docs.GetElementByID('login_name');
      ovElements.Value :='your_UserName';
    //-- <input type=password name=password ID="password">
      ovElements := Docs.GetElementByID('password');
      ovElements.Value :='your_Password';//-- <input type="image" src="/member/images/go.gif">
      ovElements := WebBrowser1.OleObject.Document.all.tags('INPUT');
      for i := 0 to (ovElements.Length - 1) do
        if UpperCase(ovElements.item(i).type) = 'IMAGE' then
          ovElements.item(i).Click;
    end;説明:在上述SOURCE中、輸入NI在CSDN的用户名和密码(或在网页中輸入)
       按「Button1」模擬网页中的動作。
      

  4.   

    没有用delphi模拟文本框,只是用原网页上已经有的文本框和提交按纽,怎么将webbrower显示的php页面上的文本框中的内容传递给下一页啊?难道用wenbrowser和IE显示相同的php网页,它们传递文本框的值的方法不相同吗?(为什么IE显示就可以传递,而用webbrowser就不行呢?),它们传递文本框(注意是php页面中的文本框)的值的机制到底有什么不同啊?谁能解释解释啊?
    万分感激!!!期待中...
      

  5.   

    dawei213(weiwei)
     怎么写啊?我试了几种方法都不行,能给出代码吗?万分感谢了.
      

  6.   

    在php中文本框的代码为:
    <input type="text" name="name" size="20">
    <input type="password" name="passwd" size="20">