#javascript #iphone #objective-c #forms
#javascript #iPhone #objective-c #формы
Вопрос:
Я создал форму входа в html / javascript для ввода в UIWebView в моем приложении для iPhone. Все это работает очень хорошо, и логин работает. Но когда я нажимаю кнопку входа, он переходит на ожидаемую страницу в этом представлении.
Мне было интересно, могу ли я ввести какой-нибудь objective c или с помощью javascript выполнить modalView или dismissView, чтобы при входе в систему страница переходила в приложение.
В приложении я только что сделал пользовательский интерфейс веб-страницы более удобным для пользователя.
Итак, чтобы показать, о чем я спрашиваю, я вставил некоторый код.
NSString *myHTML = @"<form action="gotowebsite.com" onSubmit='return !validateLogin();'><input some textfield><input password field>";
Теперь я представляю, что код увольнения попадет в область onSubmit.
Возможно, я на правильном пути??
Приветствую Джеффа
Ответ №1:
Реализуйте UIWebViewDelegate
в своем классе и при успешном входе перенаправляйте свою страницу на URL, подобный login://success когда вы перенаправляете свою страницу, UIWebView начнет загружать запрос и вызов функции, написанной ниже.
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
NSURL *url = [request URL];
NSString *urlStr = [url absoluteString];
if([urlStr isEqualToString:@"login://success"]){ //same url which you gave for redirection
[self dismissModalViewControllerAnimated:YES]; // or do whatever you want to do on a successful login
}
return YES;
}
Комментарии:
1. хорошо, я думаю, что я на правильном пути, поскольку понимаю, что вы мне говорите, однако я не уверен, как связать команду action=»» (с которой форма связана при наследовании) с командой isEqualToString. Это не значит поднимать его.
2. Поскольку вы отправляете свою форму на «gotowebsite.com » после проверки. Аналогично, когда ваша форма будет отправлять данные на url (действие), а на сервере /(действие) есть механизм аутентификации пользователя, и когда это будет сделано, просто перенаправьте после успешной аутентификации на url (login://success)