Javascript 从Mac Cocoa应用程序中提交HTML表单

Javascript 从Mac Cocoa应用程序中提交HTML表单,javascript,html,macos,cocoa,webkit,Javascript,Html,Macos,Cocoa,Webkit,我正在Objective-C中制作一个Mac应用程序,我需要它能够在网站上提交表单(嗯,按下按钮),但用户所要做的就是提供与表单相关的时间 以下是网站上的代码: <td class=t_h>07:16</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td>

我正在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>
07:16
07:24
07:32
这些区块最多可以有40个。
07:32
是用户指定的时间。我需要自动按下与该时间相关的按钮。怎么做


提前谢谢各位

这是一个属于自己的问题。基本思想是用文本
07:32
查找类
t\u h
的元素。然后,在其父节点中,找到
表单
元素并
提交()

给你:

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');"];

谢谢你的回答!我真的很感激。经过整整一个小时的研究和尝试,我仍然很困惑如何从objective-c代码中调用它。我不是javaScript爱好者,但从我在Apple文档中看到的内容来看,没有关于使用变量调用完整函数的信息(比如本例中的时间)。如果有更多指向正确方向的指示,我们将不胜感激。非常感谢。不客气,康纳。关于从Objective-C调用JavaScript,请参见链接文档末尾的示例。我已经用示例代码更新了答案。谢谢,但请回答最后一个问题:用时间变量调用函数没有问题,但我首先如何实现函数?我在我的参考资料中的一个单独的.js文件中设置了它,但是如何使它与webView中显示的当前页面交互?再一次谢谢你,我很抱歉,我想你误解了我的问题,或者我不够清楚。我没有自己的网站,我只是想访问它,按下表单中的按钮,你将需要“注入”到网站的JS。由于安全问题,这可能很棘手。参见这里的教程:JS注入本身就是一个问题。另一个可能有帮助的问题是: