我正在使用Objective-C制作Mac应用程序,我需要它才能在网站上提交表单(好吧,按下按钮),但用户所要做的就是提供与形成。
以下是该网站的代码:
<td class=t_h>07:16</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td class=t_s height='24'>
<form method="POST" action="members_booking.php?operation=member_booking_form" onSubmit="return ValidateMemberBookNow(this)">
<INPUT NAME=double_click TYPE=hidden>
<INPUT NAME=course_id TYPE=hidden VALUE="1">
<INPUT NAME=unique_id TYPE=hidden VALUE="230693">
<INPUT NAME=d_date TYPE=hidden VALUE="2012-09-07">
<INPUT NAME=Booking_Operation TYPE=hidden VALUE="Book Casual">
<INPUT NAME=SubmitButton TYPE=submit VALUE="Book Now">
</form>
</td>
</tr>
<tr>
<td class=t_h>07:24</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td class=t_s height='24'>
<form method="POST" action="members_booking.php?operation=member_booking_form" onSubmit="return ValidateMemberBookNow(this)">
<INPUT NAME=double_click TYPE=hidden>
<INPUT NAME=course_id TYPE=hidden VALUE="1">
<INPUT NAME=unique_id TYPE=hidden VALUE="230694">
<INPUT NAME=d_date TYPE=hidden VALUE="2012-09-07">
<INPUT NAME=Booking_Operation TYPE=hidden VALUE="Book Casual">
<INPUT NAME=SubmitButton TYPE=submit VALUE="Book Now">
</form>
</td>
</tr>
<tr>
<td class=t_h>07:32</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td class=t_s height='24'>
<form method="POST" action="members_booking.php?operation=member_booking_form" onSubmit="return ValidateMemberBookNow(this)">
<INPUT NAME=double_click TYPE=hidden>
<INPUT NAME=course_id TYPE=hidden VALUE="1">
<INPUT NAME=unique_id TYPE=hidden VALUE="230695">
<INPUT NAME=d_date TYPE=hidden VALUE="2012-09-07">
<INPUT NAME=Booking_Operation TYPE=hidden VALUE="Book Casual">
<INPUT NAME=SubmitButton TYPE=submit VALUE="Book Now">
</form>
</td>
</tr>
<tr>
最多可以有40个这样的块。 <td class=t_h>07:32</td>
是用户指定的时间。我需要自动按下与该时间相关联的按钮。怎么样?
先谢谢你们!
答案 0 :(得分:1)
这就是jQuery自成一体的问题。基本思想是使用文本t_h
查找类07:32
的元素。然后,在其父节点中,找到form
元素并submit()
。
你走了:
function submitFormForTime(time){
$(".t_h").each(function(i, obj){ // find each element with the class t_h
if ($(this).text() != time) return; // not the right one
$(this).parent().find("form").each(function(i, obj){
obj.submit(); // submit that form
});
});
}
submitFormForTime("07:32");
将此脚本添加到网站。要从Objective-C调用此脚本,请参阅:
从上面的文档中,以下内容将调用Objective-C中的JavaScript函数:
id win = [webView yourWebView]; // assumes your webView is called yourWebView
[win evaluateWebScript:@"submitFormForTime('07:32');"];