0

「クーポンコードCOMEAGAINSOONを入力すると10%オフ」というクーポンコード付きのハガキを印刷しました

残念ながら、ショッピング カート (PDG) からクーポン コードを設定すると、クーポン コードの最大長 (文書化されていません) が 11 文字であることがわかりました。したがって、ユーザーのエントリ「COMEAGAINSOON」を「COMEAGAINSO」としてサーバーに送信する必要があります

はがきを再印刷するのではなく、これを行うjsまたはその他のソリューションが(うまくいけば)あるに違いないと思います。それは基本的に次のようなものです:私は仕事で悪い/愚かな間違いを犯し、会社に多額の費用と(おそらく)彼らとの仕事を犠牲にする前にそれを修正しようとしています.

ここで見つけた多くの解決策を試しました (innerhtml を置き換え、文字列を短くする) が、変更されたデータを適切な場所に直接送信するものはないようです。また、控えめに言っても、私はコーディングが特に進んでいるわけではありません (私は、必要に応じて Web 作業を行うデザイナーの 1 人です)。MaxLength は重要ですが、使用するように指示された完全なクーポン コードを入力できないと、ユーザーがイライラすることになると思います。

考えていただければ幸いです。どうもありがとうございました!!

PS - これはかなり基本的なジレンマであり、ここのコミュニティはかなり高度であり、おそらくここがこの質問の適切な場所ではないことを認識しています. しかし、私はそれをそこに捨てる必要があります。

<form method="post" action="/cgi-bin/redirect.cgi">
<input type="hidden" name="goto" value="/pottedstore/potted.cgi?display">
Potted Coupon Code:
<input size="17" type="text" name="pricing" value="">
<input name="submit" type="image" value="submit" src="/includes/images/submit.jpg" align="bottom" >
</form>
4

3 に答える 3

0
<form method="post" action="/cgi-bin/redirect.cgi" onsubmit="this.pricing.value=this.pricing.value.substring(0,11)">
于 2013-09-09T19:58:49.753 に答える
0

この問題に取り組むには、クライアント側、サーバー側、API 側の複数の場所があります。

クライアント側のソリューションは実装が簡単で、ほとんどの場合に機能します。ユーザーが意図的に JavaScript をオフにしたり、JavaScript をサポートしていないブラウザーを使用している場合は機能しません。JavaScript でこれを行う方法の例を次に示します。

JavaScript:

window.onload = function () { // so it runs once the DOM is loaded
    var form = document.forms[0]; //assuming you only have one form on the page
    form.onsubmit = function () { // when the form is submitted
        var pricing = form.pricing, // cache the DOM lookup for the input
            couponCode = pricing.value; // cache the value
        if (couponCode.length > 11) { // if the value has more than 11 characters
            couponCode = couponCode.substr(0, 11); // keep the left-most 11 characters
            pricing.value = couponCode; // set the input value to the coupon code
        }
    };
};

同様に、サーバー側も実装が簡単で、あらゆる場合に機能します。PHP と Perl の例を次に示します (に投稿しているようにredirect.cgi)。

PHP:

$couponcode = $_REQUEST["pricing"]
if (strlen($couponcode) > 11) {
    substr($couponcode, 0, 11)
}

パール:

my $couponcode = $q->param('pricing');
if (length($couponcode) > 11) {
    substr($couponcode, 0, 11)
}

これにより、(一般的に)実装が単純でも迅速でもないAPI側が残り、すべての場合に機能するはずです。製品 (PDG) の代金を支払っているので、PDG のメーカーと協力して、より長いクーポン コードを受け入れることができます。これにより、同様の問題に苦しむ他の顧客を助けることができます。これは実装に最も時間がかかりますが、上記の例のような応急処置ではありません。

于 2013-09-09T20:38:16.823 に答える