挑战高手智慧,如何取得InnerHTML里面的Element并赋值 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiNetwork/html/delphi_20061203153545210.html
目标网页内容摘要如下:
<script>
var BookCode_str='识别码:<INPUT name=BookCode size=10 maxlength=4>请输入图书编码<br><img id=Book_img src="GenBookCode.asp?ID=DSFSCDSC008296CB84467F56B">';
function MyOnFocus()
{
if(document.getElementById('BookC').innerHTML==null || document.getElementById('BookC').innerHTML==''){
document.getElementById('BookC').innerHTML=BookCode_str;
}
}
</script>
<table width="95%" border="0" cellspacing="1" cellpadding="3" align="center" class="f9" >
<tr >
<td valign="top" nowap>书名:</td>
<td width="90%">
<input type="text" name="BookName" size="60" value="" onfocus="MyOnFocus()">
</td>
</tr>
<tr>
<td valign="top" nowap>简介:</td>
<td width="90%">
<textarea name="BookDetail" cols="65" rows="8" onfocus="MyOnFocus()"></textarea>
</td>
</tr>
<tr>
<td vAlign=middle align=left colspan=2><div id=BookC></div></td> //添加图书条形码
</tr>
<tr>
<td width="93%">
<input type="submit" name="Submit3" value="图书入库"></td>
</tr>
</table>
因为前面的开发人员走了,联系不上,所以存在这么一个问题:
图书的编码是必须 先点标题以后,才通过MyOnFocus,往ID为BookC的DIV里面插入一个 条形码图片
我现在编写程序,如何自动往新增加的ID为BookCode的Input赋值?
o := WebBrowser_AddBook.oleobject.document.all.item('BookName',0); //名称
o.value :='书名';
o := WebBrowser_AddBook.oleobject.document.all.item('BookDetail',0); //简介
o.value :='简介';
o := WebBrowser_AddBook.oleobject.document.all.item('BookCode',0); //出错
o.value :='123456';
到给编码赋值的时候,立马出错。小弟只有100分了,故给出99分,请求各位大虾来救我!
提前!!自己顶上去
//先把对象创建出来
var
o: OleVariant;
begin
o := WebBrowser_AddBook.OleObject.Document.All.Item('BookName', 0); //名称
o.value :='书名';
o := WebBrowser_AddBook.OleObject.Document.All.Item('BookDetail', 0); //简介
o.value :='简介';
WebBrowser_AddBook.OleObject.Document.parentWindow.ExecScript('MyOnFocus()'); //<<
o := WebBrowser_AddBook.OleObject.Document.All.Item('BookCode', 0); //出错
o.value :='123456';
end;
zswang(伴水清清)(专家门诊清洁工)真的是专家哦!
基本解决问题。 不过存在一个小疑问:
WebBrowser_AddBook.OleObject.Document.parentWindow.ExecScript('MyOnFocus()'); //<<
o := WebBrowser_AddBook.OleObject.Document.All.Item('BookCode', 0); //出错
o.value :='123456';
之后,我立马 submit, 没有问题。如果不这样,这个书的编码自动就变成空,不知道为何。
————————————————另外,如何禁用网页代码里面的一个特定的Script?请教