2012-08-30 3 views
0

Objective-C로 Mac 응용 프로그램을 만들고 있는데 웹 사이트에서 양식을 제출할 수 있어야합니다. (물론 버튼을 누르십시오) 모든 사용자는 할 일은 양식과 관련된 시간을 제공하는 것입니다.Mac 코코아 응용 프로그램에서 HTML 양식 제출

<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>은 사용자가 지정한 시간입니다. 그 시간과 연관된 버튼이 자동으로 눌러지기를 원합니다. 방법?

미리 감사드립니다.

답변

1

이것은 jQuery이 자체적으로 발생하는 일종의 문제입니다. 기본적인 아이디어는 07:32 텍스트를 사용하여 클래스 t_h의 요소를 찾는 것입니다. 그런 다음 상위 노드에서 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"); 

웹 사이트에이 스크립트를 추가합니다. 이 목표 - C의 페이지에서 스크립트 호출하려면 : 당신의 멋진위한

id win = [webView yourWebView]; // assumes your webView is called yourWebView 
[win evaluateWebScript:@"submitFormForTime('07:32');"]; 
+0

감사 : 위의 문서에서

을, 다음 목표 - C에서 자바 스크립트 함수를 호출합니다 대답! 정말 감사. 연구와 시행 착오를 단호한 시간에 마친 후에도 객관적인 코드 내에서 어떻게 호출해야하는지에 대해서는 여전히 혼란 스럽습니다. 나는 javaScript 버프가 아니지만, Apple docs에서 볼 수 있듯이 변수 (예 :이 경우에는 시간)와 함께 전체 함수를 호출하는 정보는 없습니다. 올바른 방향으로 나아가는 포인터는 강력하게 평가 될 것입니다. 정말 고맙습니다. –

+1

환영합니다, 코너. Objective-C에서 JavaScript를 호출하는 방법은 링크 된 문서의 끝에있는 예제를 참조하십시오. 예제 코드로 답변을 업데이트했습니다. –

+0

고마워,하지만 마지막 질문에 대답 해주십시오. time 변수를 사용하여 함수를 호출해도 아무런 문제가 없지만 먼저 함수를 구현하려면 어떻게해야합니까? 내 자원의 별도 .js 파일에 설정했는데 webView에 표시되는 현재 페이지와 어떻게 상호 작용할 수 있습니까? 다시 한 번 감사드립니다 –