0

ユーザーがオファーを完了する条件に同意できるようにするポップアップまたは Javascript アイテムを作成したいと考えています。彼らが条件に同意したら、「オファー」というラベルの付いたセクションまたはテーブルのアカウントの下に移動することに同意したオファーを希望します.

これをコーディングする方法についてアドバイスしてください。

4

2 に答える 2

1

JavaScriptの確認を使用できます。ユーザーが「OK」または「キャンセル」を押すことができるダイアログが作成されます。以下を実装できます。

<html>
<head>
<script type="text/javascript">
<!--
function confirmation() {
    var answer = confirm("Do you agree to the terms of Service?")
    if (answer){
        window.location = "http://yoursite.com/offers.html";
    }
    else{
        alert("You must agree to continue")
    }
}
//-->
</script>
</head>
<body>
<form>
<input type="button" onclick="confirmation()" value="Continue">
</form>
</body>
</html>

ページがロードされたときにこのダイアログを表示したい場合は、 body タグに onLoad="confirmation()" を入れることができます。また、JavaScript の確認ボックスに代わるものとして、次のようなものがあります。ポップアップや確認が本当に嫌いな人がいることは知っています。

<input type="button" onclick="window.location='http://yoursite.com/offers.html';" value="Agree">
<input type="button" onclick="alert('You must agree to the terms of service');" value="Disagree">
于 2009-02-19T09:37:33.060 に答える
0

煩わしいポップアップの代わりに、続行するためにユーザーがチェックしなければならないチェックボックスを用意してみませんか? チェックボックスがチェックされていない場合、フォームが送信されないか、条件に同意しなかったことをユーザーに知らせるエラー メッセージが表示される可能性があります。

JavaScript を使用する必要がある特定の理由がない限り、特にユーザーが JavaScript をオフにできることを考えると、このような機能のために JavaScript を使用しないようにします。

例 (JavaScript を使用してフォームが送信されないようにする):

<form name="offerForm" action="/offer" method="post" onsubmit="return this.elements['agreeTerms'].checked;">
    <!-- the rest of your form goes here -->
    <input type="checkbox" name="agreeTerms" id="agreeTerms" value="1" /> <label for="agreeTerms">I agree to the terms.</label><br />
    <input type="submit" value="Submit Offer Form" />
</form>

サーバー側では、すべての背後にリレーショナル データベースがあると想定しています。users テーブル、offers テーブル、users_offers ブリッジ テーブルがあり、どのユーザーがどのオファーを受け入れたかを示すとします。

上記の例を使用すると、agreeTerms が「1」の値で戻ってきた場合にのみ、users_offers ブリッジ テーブルに新しいレコードを追加します。チェックボックスがチェックされていない場合、agreeTerms には値がありません。

あなたの状況に関する詳細 (使用するサーバー側の言語、基本的なデータベース テーブル情報など) で質問を編集していただければ、さらに詳細を記入することができます。

于 2009-02-19T22:02:41.523 に答える