みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
Webビューアの設定オプションでオブジェクトは
htmlでテキストボックスを配置しています。
"javascript:function f(){var fm=document.forms[0]; fm.code.value=’12345’; fm.passwd.value='pass'; fm.submit()}; f();"
のようにスクリプトに書いています。
valueの12345とpassをファイルメーカーのテキストボックスの値にしたいのですが
fm.code.value=テーブル名::フィールド名;
と書いてもフィールドの値がセットされません。
何が悪いのでしょうか。
教えていただきたく思います。
"javascript:function f(){var fm=document.forms[0]; fm.code.value=’12345’; fm.passwd.value='pass'; fm.submit()}; f();"
↓
"javascript:function f(){var fm=document.forms[0]; fm.code.value=’"&テーブル::コードフィールド&"’; fm.passwd.value='"&テーブル::パスフィールド&"'; fm.submit()}; f();"
Offline
HIROさん
どうもありがとうございました。
大変感謝しております。
お世話になります。
解決したのですが困ったことが起きたのでもう一度、同内容で質問させていただきました。
内容は、パソコンでは動作しましたが
iPhoneのファイルメーカーGoだと同じスクリプトが動作していないのです。
環境はFM14でiPhone6、ファイルメーカーGo14になります。
そもそも動かないものなのでしょうか。
助言いただけないでしょうか。
宜しくお願いいたします。
そもそも動きません。
javascript:スキームが通るのは、windows版IE系のWebビューアに限られるからです。
Offline
Hiroさん
早速のご指摘ありがとうございました。
ちょっと考えて見ます。
何か良い考え方があったら是非教えてください。
どこかのサイトのフォームじゃなくてFM内で生成してるみたいですから、最初から値を入れたフォームを生成したらいいのでは?
自分で何か難しく考えすぎてしまっているのかわかりませんが
レンタルサーバに置いているHTMLは単純に
<form action="../php/user_check.php" method="post">
ユーザーID
<input name="user_id" type="text">
<div class="input_single">
<input value="送信" class="input_base" title="" type="submit">
</div>
</form>
でしてuser_idにファイルメーカーのテキストボックスで入力した数字を渡したいだけなのです。
phpにuser_idを渡して結果をファイルメーカーのuser_nameに渡したいだけなのです。
Goの方でwebビューワに直接入力すると正常に結果を返してくれているので
もう一息だと思うのですが、何が悪いのか、ハマってしまいました。
Layouterさん
コメントありがとうございました。
皆様もう少しお付き合いお願いできますでしょうか。
実現したいことはFMGoで任意の数字を入力、MySQLにあるデータベースに接続して入力した数字の名前部分をSELECTして
結果をFMGoに表示したいのです。(ローカルにデータを持ちたくないためです)
Windowsでは実現できたのに悔しい思いです。
ユーザー側はHTML画面を触るのではなく、あくまでもFMGoの入力のみを想定します。
HTML画面は隠した状態にします。
Layouterさんの言う「最初から値を入れたフォームを生成したらいいのでは?」とは
どこに記述すべきものでしょうか。
FileMakerの最初から入っている「"http://www.google.co.jp/search?" & "q=" & "フィールド"」
のようなことがしたいのですが出来ません。
user_check.php も自前のようですが、GETに対応できないんでしょうか。
URLから挿入[ 結果; "https://server.domain.or.ipaddress/php/ … p?user_id=" & フィールド]
で入るようにすれば簡単になりそうですが。
https でなく httpspost でPOSTのままでもできるかな。
Layouterさん
ありがとうございます。
phpも自前です。GETに対応するとはどういったことになりますでしょうか。
phpの中身は接続文があってSQL部分が
$result = mysql_query("SELECT * FROM mst_user where user_id = ".$user_id);
その結果を print(''.$row['user_name']);
としている感じです。
".$user_id);の部分をFMGoのテキストデータに任意に変更したいわけですが、
>URLから挿入[ 結果; "https://server.domain.or.ipaddress/php/ … p?user_id=" & フィールド]
について理解できていません。
phpのSQL部分の変更が必要なのでしょうか。
質問ばかり申し訳ありません。
調べてみてFM内でHTMLを書いて、WEBビューアに表示するようにしました。
HTMLフォームにテキストボックスを置いていますが、その初期値をFMフィールドのuser_idに出来ないです。
valueをuser_idに出来ると思っていますが
<input name="user_id" type="text" value=テーブル::コードフィールド>
どう書けばいいでしょうか。
最初の回答と同じで、''の中に入れればいいのでは。""の場合は\でエスケープする必要があるんで、シングルで済む場所はシングルのほうが楽。
ポンカンさん、ありがとうございます。
<input name="user_id" title="" type="text" value=’"&テーブル::コードフィールド&"’; '>
でも、何をしても駄目で参りました。
htmlフィールドに書いてWEBビューアに表示したいのですが上手くいきません。
すみませんがもう少し手解きお願いできますでしょうか。
「htmlフィールドに書いて」「WEBビューアにフィールドを指定する」でしたら、表示したいものをそのままフィールドに書かないとだめです。他のフィールド値は使えません。
WEBビューアには計算式を書いて
Substitute(html;"テーブル::コードフィールド";テーブル::コードフィールド)
とかやって計算結果にフィールド値が入るようにすればいいでしょう。
やっと出来ました!
みなさんのおかげです。
次のステップに進めます。ありがとうございます。
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 534.71 KiB (Peak: 555.62 KiB) ]