Radio对应接口是IHTMLOptionButtonElment, 你可以在MSDN中找到它的方法!

解决方案 »

  1.   

    to jintooth
    我试不出来,MSDN上写的不清楚,加入如下两个Radio:
    <input name="status" type="radio" value="Value1>Value1
    <input name="status" type="radio" value="Value2>Value2
    都未被选中,现在我想选中Value2,怎么写?用put_value吗?我试过了,不知怎么写:(
      

  2.   

    下面是一段把网页中所有的 RadioCheck都选中的代码,你看看有没有帮助
    IHTMLDocument2 * pDoc = NULL;
    IHTMLElementCollection  * pAllElem = NULL;
    IHTMLElement *pElem = NULL;
    IHTMLOptionButtonElement * pOpnElem = NULL;
    VARIANT name;
    long p;
    BSTR bstrSrc;
    CString env="selected";name.vt = VT_I4;
    pDoc = (IHTMLDocument2*)(m_ctrlWeb.GetHtmlDocument());
    if(pDoc!=NULL)
    {
    pDoc->get_all(&pAllElem);
    if(pAllElem!=NULL)
    {
    pAllElem->get_length(&p);
    if(p>0)
    {
    //get all Option Button
    for(int i=0; i<p; i++)
    {
         name.lVal = i;
         if(pAllElem->item(name, name, (LPDISPATCH*)&pElem)==S_OK)
    {
    if(pElem != NULL)
    {
    pElem->QueryInterface(&pOpnElem);
    if(pOpnElem!=NULL)
    {

    bstrSrc = env.AllocSysString();
    pOpnElem->put_value(bstrSrc);
    SysFreeString(bstrSrc);
    pOpnElem->Release();
    pOpnElem = NULL;
    } pElem->Release();
    pElem = NULL;
    }
    }
    }
    }
    pAllElem->Release();
    }
    pDoc->Release();
    }
      

  3.   

    你那个HTML写错了,两个radio不能有相同的name都叫status
    应该改成<input name="status1" type="radio" value="Value1>Value1
    <input name="status2" type="radio" value="Value2>Value2你可以pOpnElem->get_name(&bstrSrc);
    CString s(bstrSrc);
    SysFreeString(bstrSrc);
    if(s.CompareNoCase("status2") == 0)//是第二个radio
    {//给该radio赋值 selected
    bstrSrc = env.AllocSysString();
    pOpnElem->put_value(bstrSrc);
    SysFreeString(bstrSrc);}
      

  4.   

    to 111222:
    同组的Radio必须有相同的名字呀.否则网页提交的时候如何判断?不信你找一个带Radio的网页看看。
      

  5.   

    哎呀,我来晚了。同组的radio不能同名的。提交依靠form的名字啊。<form name="form1" action ="Post.pl" method="post">
    <input name="status1" type="radio" value="Value1">Value1</input>
    <input name="status2" type="radio" value="Value2">Value2</input>
    </form>
    上面是正确的形势。
      

  6.   

    如果上面提交方法是GET 实际上就是 post.pl?status1=Value1如果你的两个radio都叫status1,取什么值呢?是value1还是2?就算某些时候提交正常了。
    也是先去上面的值,有时候还会出错的。