2011-02-15 11 views
1

私はまとめようとしている単純なスパムキラーを持っていますが、テキストは自分のフォームに表示されません。JavaScript document.write Chrome

ジャバスクリプトは、次のとおりです。テキストはIE8の下ではなく、クロムの下に表示

function GetDateMonth() { 
    return date1.getMonth() + 1; 
} 

function GetDateDay() { 
    return date1.getDay() + 1; 
} 

:私の.jsファイルで

<script language="javascript" type="text/javascript"> 
    document.write("SPAM Killer: What is " + GetDateMonth() + " + " + GetDateDay() + "?") 
</script> 

、私は定義されたこれら2つの機能を持ちます。ボーナスとして

:私のフォームを送信する私のOnClickメソッドが誤って私の月と日付追加されたコードのこのビットがあります。

string spamError = "The SPAM Killer answer was incorrect. "; 
    char[] split = spamTest.ToCharArray(); 
    for (int i = 0; i < split.Length; i++) { 
    if (char.IsLetter(split[i])) { 
     Ok = false; 
     txtMessage.Text = spamError + "Non-numeric data entered."; 
     return; 
    } 
    } 
    int nTestValue = Convert.ToInt32(spamTest, 10); 
    if (nTestValue < 1) { 
    Ok = false; 
    txtMessage.Text = spamError + "Negatave or zero value found."; 
    } 
    DateTime dt = DateTime.Now; 
    int month = dt.Month; 
    int day = dt.Day; 
    int nCorrect = month + day; 
    if (nCorrect != nTestValue) { 
    Ok = false; 
    txtMessage.Text = spamError + string.Format("Expected {0}; Received {1}.", nCorrect, nTestValue); 
    return; 
    } 

はIE8を使用して、私は以下を参照してください。スパムキラー:2 + 3とは何ですか?私は5入力

、[送信]をクリックして、入手Expected 17; Received 5.

+0

は、 'date1'が設定されているコードを表示します。 – servermanfail

答えて

0

答え:あなたはまだ断固としている場合は

、あなたは(ない2002年)もうdocument.writeを使用していますが、代わりにこのようなタグIDにテキストを挿入するためにDOMを使うべきではありません文字列を追加してdocument.write()関数を使用していたようです。

私はもっとこのようなことに私のHTMLを再設計:

<table> 
    <tr> 
    <td colspan="2"> 
     <b>[Human Check]</b><br /> 
     Enter the text to the left and below exactly as it appears: 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <script language="javascript" type="text/javascript"> 
     document.write(GetSpamText()) 
     </script> 
    </td> 
    </tr> 
</table> 

@serverfault:dateプロパティについてのご提案をお寄せいただきありがとうございます、しかし。それは問題でした。

GetSpamText()によって返されるテキストは、静的であっても、ランダム値(別のトピック)を作成するためにコード化されていてもかまいません。

1

、車輪の再発明C#コードの場合http://www.google.com/recaptcha

で本を読んで助けてはいけないあなたは断固としている場合はhttp://code.google.com/apis/recaptcha/docs/aspnet.html

見ますあなたのコードに固執して、真夜中の問題と他のタイムゾーンのユーザーについて考える。また、ボットは非常に簡単にあなたの反ボットの質問に答えることができます。ボットを書いた場合は、それをサポートするのに45秒かかります。 、それをChange label text using Javascript

+0

これはHOSTEDのウェブサイトです。私はサードパーティのアプリケーションをインストールするオプションがありません。私はそれをやりましたが、セキュリティ例外が発生しました:アプリケーションがセキュリティポリシーで許可されていない操作を実行しようとしました。このアプリケーションに必要な権限を与えるには、システム管理者に連絡するか、設定ファイルのアプリケーションの信頼レベルを変更してください。 – jp2code

+0

また、Tech Supportに電話しましたが、このオプションは動的IPアドレスでは使用できません。 – jp2code

+0

OK、date1が設定されるコードを表示してください – servermanfail