2012-10-30 43 views
3

我有一個HTML表單,它在加載時已經填充了數據。它具有保存和應用按鈕。以編程方式從NSURLRequest按下HTML按鈕

我想更改表單上的一個項目並從我的iOS應用程序發佈它。問題是,當我發送帶有更改後的表單數據信息的POST時,我還需要從表單中提交所有其他當前設置,否則它們會被空白覆蓋。 (我無法控制編輯頁面)。
我可以事先解析頁面,從表單中獲取顯示的數據,然後用POST發送它,但是每個用戶頁面可能會有所不同,因此這將非常困難。

在網頁瀏覽器中,當我加載頁面後點擊保存按鈕時,我可以看到所有POST標題和表單數據,所以我想我可以在我的應用程序中執行此操作來獲取當前數據,然後修改1項我想改變,然後將其恢復。

所以我的問題是,如果我閱讀AFNetworking的頁面,然後我可以模擬按下該頁面上的保存按鈕,所以我可以讀取響應,但這次與POST和標題數據?

或者有關如何實現這一目標的其他想法?

感謝

回答

5

這可能通過訪問文檔對象模型工作...檢查語法...

NSString *formValue = [webView stringByEvaluatingJavaScriptFromString 
         :@"document.forms[0].elements[0].value"]; 

//...change value... 

NSString *jScript = [NSString stringWithFormat 
        :@"document.forms[0].elements[0].value='%@';", formValue ]; 

[webView stringByEvaluatingJavaScriptFromString: jScript ]; 

[webView stringByEvaluatingJavaScriptFromString: @"document.forms[0].submit();"]; 
+0

我沒有嘗試過這個,但是我看你有沒有web視圖。我沒有使用webView,我希望它發生在後臺,所以我可以讀取結果標題。 – Darren

+6

作爲AFNetworking的創造者,讓我成爲第一個說你肯定不應該使用AFNetworking的人。收聽@ kineticfocus - 利用Web視圖中的Javascript交互優勢(即使Web視圖沒有實際顯示給用戶,仍然可以通過編程方式與之交互) – mattt