私はモバイルウェブサイトを構築しています。このフォームにはフォームがありますが、送信ボタンはありません。したがって、ユーザーが入力フィールドに何かを入力してAndroidまたはiPhone GOボタンをクリックすると、フォームが送信されます。これにはHTMLとjQueryを使用しています。
このGOイベントをjQueryでキャプチャするにはどうすればよいですか?私はそれが自分自身でこのように行われることを望んでいます。
私はモバイルウェブサイトを構築しています。このフォームにはフォームがありますが、送信ボタンはありません。したがって、ユーザーが入力フィールドに何かを入力してAndroidまたはiPhone GOボタンをクリックすると、フォームが送信されます。これにはHTMLとjQueryを使用しています。
このGOイベントをjQueryでキャプチャするにはどうすればよいですか?私はそれが自分自身でこのように行われることを望んでいます。
送信ボタンを追加し、に設定しopacity
ます0
。
私はこれをhtmlに使用しました:
<form>
<input type="text" name="input" />
<input type="submit" style="opacity:0;" />
</form>
そしてこれをalert()
価値に:
$(document).ready(function() {
$("form").submit(function() {
alert($("[name=input]").val());
});
});
フォームのsubmit-Eventを処理する必要があります。これは、jQueryでうまく機能します。
webviewを使用して、android/iphoneデバイスにhtmlファイルをロードできます。
以下を確認してください。
androidのassetsフォルダーの下にindex.htmlを追加します。mainActivityクラスに以下を追加します。ここではStackOverFlowActivityという名前です
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.WebView;
public class StackOverFlowActivity extends Activity {
private Handler mHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView view=(WebView)findViewById(R.id.webView1);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/index.html");
view.addJavascriptInterface(new MyJavaScriptInterface(), "Android");
}
final class MyJavaScriptInterface
{
public void ProcessJavaScript(final String scriptname, final String args)
{
mHandler.post(new Runnable()
{
public void run()
{
String h="Hi";
webview.loadUrl("javascript:result(\""+h+"\")");
}
});
}
}
}
index.html
<html>
<head>
<script type="text/javascript">
function clickhere()()
{
Android.ProcessJavaScript("result",null);
}
function result(res)
{
alert(res);
}
</script>
</head>
<body>
<input type="button" id="clickme" onclick="clickhere()" value="GO"></input>
</body>
</html>