2

aspページが2つあります。

  • Feedback_Administration_Update.asp
  • Feedback_Administration.asp

私のHTMLフォーム:

<form ACTION="Feedback_Administration_Update.asp" METHOD=POST NAME="form">
  <input type="button" value="Submit" onclick="javascript:Checkit();" name="btnSubmit">
  <input type="reset" value="Reset" onclick="javascript:document.location=location">
  <input type="button" value="Send Response to Requester" name="btnSubmit" onclick="javascript:Checkit();"/>
</form>

Feedback_Administration_Update.aspファイルのコード:

dim buttonPressed
buttonPressed=Request.Form("btnSubmit")
select case buttonPressed
    case "Submit"
        'update database code 
        Response.Redirect "feedback_administration.asp?ID=" & regEx.Replace((request.form("ID")), "''") & "&lstPages=" & Trim(Request("lstPages")) & "&view=" & Request("view")& "&strSuccess1=" &"Success"
    case "Send Response to Requester"
        'mail  task code 
End Select

なぜ彼らがボタンのクリックに取り組んでいないのかわかりません。

[ページを送信]をクリックするとコードが更新され、[リクエスターに応答を送信]をクリックするとメールが送信されます。

4

1 に答える 1

1

ボタン入力の値はサーバーに送信されません。通常の送信ボタンを使用する必要があります。検証コードを使用するには、onclickイベントをキャンセルできます。

<input type="submit" value="Submit" onclick="return Checkit();" name="btnSubmit" />
<input type="submit" value="Send Response to Requester" name="btnSubmit" onclick="return Checkit();" />

これを機能させるには、JavaScript関数を2つの方法で変更します。まず、フォームを送信させないでください。次に、true検証が成功したfalse場合などにフォームを返送してもらいます。例:

function Checkit() {
    //validate your stuff..
    if ([all is good]) {
        //don't submit the form here, the submit button will do that.
        return true;
    }

    //indicate that something was wrong, cancel form submission:
    return false;
}

これを適切に配置するとRequest.Form("btnSubmit")、目的の値が保持されます。

于 2012-12-12T09:06:09.093 に答える