• 締切済み

SUBMITをクリックし新規メールを立上たらクリア

HTMLファイルで、メールアドレスの一覧を作成しています。 チェックボックスを選択して、SUBMITをクリックすると、メーラーが立ち上がるようにaspが組み込まれています。 メーラーが立ち上がったら、チェックボックスが全て自動的にクリアされるようにするには、どうしたらよいでしょうか。 ■HTML <FORM METHOD="POST" ACTION="mailto.asp"><INPUT TYPE="SUBMIT" VALUE="送信">  <INPUT TYPE="RESET" VALUE="全てクリア"> ■asp <%@ LANGUAGE="VBSCRIPT" %> <% Option Explicit %> <% Dim Strcheck,adlist(73),stpos,lspos,stlen,maCNT,i maCNT=0 Strcheck= Request("ml") stpos=-1 stlen=Len(Strcheck) For i = 1 To 73 lspos=instr(stpos+2,Strcheck,", ",1) If lspos > 0 Then adlist(i-1)=MID(Strcheck,stpos+2,lspos-stpos-2) stpos=lspos maCNT=maCNT+1 Else If lspos=0 AND stlen-stpos+1 >0 Then adlist(i-1)=MID(Strcheck,stpos+2,stlen-stpos+1) maCNT=maCNT+1 EXIT For Else EXIT For End If End If Next %> <HTML>

  • mei22
  • お礼率60% (6/10)

みんなの回答

noname#259269
noname#259269
回答No.1

メーラー起動時に JavaScript でチェックボックスをクリアするようにしてはどうですか? そもそも、Submit 先(mailto.asp)でわざわざチェックボックス ON するような実装をしているからではないのでしょうか? それとも iframe とか利用して Submit は iframe だけで行っているのでしょうかね? いまいち全貌が見えないので回答のしようがないかと。。。

関連するQ&A

  • 押下ボタンによってSubmit先を変えたい・その2

    つい先日、解決ソースを頂きましたuinonaです。 教わったソースを試した所、SubmitボタンにNameを付けているのに、 何も入っていないんです。(押されたボタンを受信側で判別出来ない) SubmitのName属性さえ付ければ複数Submitボタンの判別は可能なはずなのに、 なぜなのでしょうか?なにか設定等あるのでしょうか?またまた困ってしまいました。 ご回答の程よろしくお願いします。 <!-- aaa.asp --> <form action="aaa2.asp" method="post"> <input type="hidden" name="field" value="test"> <input type="submit" name="btnQ" value="Q"> <input type="submit" name="btnZ" value="Z"> </form> <!-- aaa2.asp --> <% If Len(Request.Form("btnQ")) > 0 Then ←※ Server.Transfer "bbb.asp" Else Server.Transfer "ccc.asp" End If %> ※"btnQ"を押下しているのにLen(Request.Form("btnQ"))=0なんです・・

  • 数字と数字のー(ハイフン)は消去しないVBA

    Private Sub Worksheet_Change(ByVal Target As Range) Dim myAsc As Integer, InSP As Integer, myFlag As Integer Dim myStr As String If Intersect(Target, Range("B4:CH4")) Is Nothing Then Exit Sub If Application.CountBlank(Target) > 0 Then Exit Sub Application.EnableEvents = False Target = StrConv(Target, vbUpperCase + vbNarrow) myStr = Target.Value InSP = 0: myFlag = 0 For i = 1 To Len(myStr) myAsc = Asc(Mid(myStr, i, 1)) If Not (myAsc >= 65 And myAsc <= 90) Then If Not (myAsc >= 48 And myAsc <= 57) Then If myAsc = 32 Then InSP = i Else MsgBox ("-(ハイフン)は使用出来ません。クリアします。" & "" & Mid(myStr, i, 1) & "") Target.Select ' Selection.ClearContents Application.EnableEvents = True Exit Sub End If ElseIf myFlag = 0 And InSP = 0 Then myFlag = i End If End If Next If myFlag <> 0 Then Target.Value = Left(myStr, myFlag - 1) & Mid(myStr, myFlag, 99) End If Application.EnableEvents = True End Sub B4:CH4の範囲で半角英数字の小文字で入力したら自動で大文字となり、-(ハイフン)を入力したら文字がクリアされるVBAがあります。 質問ですが先ほどのVBAで英字と数字の間のー(ハイフン)はクリア対象となり、数字と数字の間にー(ハイフン)の場合はクリアしないVBAはどの様にすれば良いでしょうか? ※「GRE-879」の時は消去対象となり、「GRE868-76」の時は消去しない感じです。

  • 右クリック、ダブルクリックの操作

    勤務表作成してます。 A1に「ON・OFF」を表示します。 「ON」のときに、ダブルクリックで、上のセルを表示、右クリックで「1」を表示します。 「OFF」のときは、コンテキストメニュ-(通常の操作)が出来るようにしたいのですが、ON.OFFの切り替え操作のVBAがわかりません。 よろしくお願いします。 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' ActiveCell = ActiveCell.Offset(-1, 0).Value ' ' If Target = Range("$A$1") Then ' Cancel = True If Range("$A$1").Value = "イベントON" Then Range("$A$1").Value = "イベントOFF" Else Range("$A$1").Value = "イベントON" ActiveCell = ActiveCell.Offset(-1, 0).Value Exit Sub End If Cancel = True If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 'ActiveCell = "1" ' If Target = Range("$A$1") Then ' Cancel = True ' If Range("$A$1").Value = "イベントON" Then ' Range("$A$1").Value = "イベントOFF" If Range("$A$1").Value = "イベントON" Then ActiveCell = "1" Else: Range("$A$1").Value = "イベントOFF" Exit Sub End If Cancel = True If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End Sub

  • Excel VBA セル選択

    Sub 全角() Dim i As Long, buf As String For i = 1 To Len(ActiveCell.Value) If Mid(ActiveCell.Value, i, 1) Like "[ア-ン]" Then buf = buf & StrConv(Mid(ActiveCell.Value, i, 1), vbWide) Else buf = buf & Mid(ActiveCell.Value, i, 1) End If Next i ActiveCell.Value = buf End Sub このコードだと一つのセルしか変換できません。 選択した範囲全部を変換できるようにしたいです。

  • ダブルクリック・右クリックの操作方法

    勤務表作成してます。 A1に「ON・OFF」を表示します。 「ON」のときに、ダブルクリックで、上のセルを表示、右クリックで「1」を表示します。 「OFF」のときは、コンテキストメニュ-(通常の操作)が出来るようにしたいのですが、ON.OFFの切り替え操作のVBAがわかりません。 よろしくお願いします。 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ActiveCell = ActiveCell.Offset(-1, 0).Value If Target = Range("$A$1") Then Cancel = True If Range("$A$1").Value = "イベントON" Then Range("$A$1").Value = "イベントOFF" Else Range("$A$1").Value = "イベントON" End If If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End If End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ActiveCell = "1" ' If Target = Range("$A$1") Then ' Cancel = True ' ' If Range("$A$1").Value = "イベントON" Then ' Range("$A$1").Value = "イベントOFF" ' Else ' Range("$A$1").Value = "イベントON" ' End If If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End Sub

  • submitでチェックボックスが認識されない

    HTML(ASP)でプログラミングをしています。 入力フォームにチェックボックスが複数個あり、同一項目名称でインデックスをしようしていますが、ボタン押下時に遷移先のプログラムでインデックスエラーが発生し項目が認識されません。 デバッグの結果チェックボックスの項目が『Off』の場合に項目が認識されていない事がわかりました。 以前同様の画面を作成した時にはインデックスは使用していませんでしたが正常に機能していました。 チェックボックスではインデックスを使用するとエラーになる等のルールがあるのでしょうか? ご存知の方いらっしゃいましたらお教え願います。 OS:WIN2K DB:SQLServer2K プログラム抜粋 ▲入力フォーム▲ <form method=post name=form1 target=_top action="upd.asp">  <input type=checkbox name=outKa1 value="1" checked>  <input type=checkbox name=outKa2 value="1" checked>  <input type=checkbox name=outKa3 value="1" checked>  <input type=checkbox name=outKa1 value="1" checked>  <input type=checkbox name=outKa2 value="1" checked>  <input type=checkbox name=outKa3 value="1" checked>  <input type=submit value="送信"> </form> ▲upd.asp▲ <%  For intOcnt = 1 To 2   For intIcnt = 1 To 3    If Request.Form("outKa" & intIcnt)(intOcnt) = "1" Then     ■更新処理■    End If   Next  Next %> ■更新処理■上部のIF文で『インデックスが有効範囲にありません』とエラーになります。

    • ベストアンサー
    • HTML
  • VBScriptで未入力のチェック(クライアントサイド)

    ある程度の入力チェックをIEにて行わせたいのですが 入力チェックをして「OK」ボタンをクリックしても 次ページへ移動してしまいます。 メッセージを表示させて未入力の欄にフォーカスを動す方法を 教えてください。(何か入力されていたら次のページへ移動) よろしくお願いします。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT LANGUAGE=vbscript> <!-- Sub window_onload FAQForm.text1.focus End Sub Sub submit1_onclick if FAQForm.text1.value="" then msgbox "未入力です。" exit sub end if End Sub --> </SCRIPT> </HEAD> <BODY> <FORM NAME="FAQForm" METHOD="post" ACTION="FAQ.asp"> <P><INPUT name=text1></P> <P><INPUT type=submit value=Submit name=submit1></P> </FORM> </BODY> </HTML>

  • 2つのVBAを組み合わせる方法

    お世話になります、2つのVBAを組み合わせる方法で迷っています。 1つ目が Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long, k As Long, myNum As Long If Intersect(Target, Range("C1,B9:B39")) Is Nothing Or Target.Count > 1 Then Exit Sub Application.EnableEvents = False With Target If .Column = 3 Then myNum = WorksheetFunction.Max(Range("B9:B39")) If IsDate(.Value) Then For i = 9 To 39 If Cells(i, "A").Value = "" Then Cells(i, "B").Value = "" Else Cells(i, "B") = myNum + i - 8 End If Next i End If Else i = .Row If .Value = "" Then Range(Cells(i + 1, "B"), Cells(39, "B")).ClearContents Else For k = i + 1 To 39 If Cells(k, "A").Value = "" Then Cells(k, "B").Value = "" Else Cells(k, "B") = Cells(k - 1, "B") + 1 End If Next k End If End If End With Application.EnableEvents = True End Sub です。 2つめが Private Sub Worksheet_Change(ByVal Target As Range)  Application.EnableEvents = True If Intersect(Target, Range("R8:R38")) Is Nothing Then Exit Sub Application.EnableEvents = False Range(Cells(Target.Row, 18), Cells(39, 18)).Value = Target.Value Application.EnableEvents = True End Sub です。2つのPrivate Sub Worksheet_Change(ByVal Target As Range)イベントのVBAですが、どのようにして組み合わせれば良いのでしょうか?

  • 下記のマクロをもっと早くするには?

    下記のマクロは、 A列にあるURLがSSL化(https)されているかを調べるものです。 このマクロを動かすと、大体3秒に1つのURLを調べるくらいの早さです。 もっと早く調べられるようにするには、どのような記述にすればできるでしょうか? また、エクセルの他の設定で、マクロを早くできたりしますか? よろしくお願いいたします。 Sub SSL() Dim objHttp As Object Dim nURL As String Dim strURL As String Dim i As Long, f As String, l As String Dim Lastrow As Long, getLine As Long Set objHttp = CreateObject("WinHttp.WinHttpRequest.5.1") On Error GoTo ErrHandler 'A1から getLine = Cells(Rows.Count, 2).End(xlUp).Row Lastrow = Cells(Rows.Count, 1).End(xlUp).Row If getLine = Lastrow Then MsgBox "既に終わっているか、データがないです。", vbExclamation: Exit Sub If getLine < Lastrow And Cells(1, 2).Value <> "" Then getLine = getLine + 1 Else getLine = 1 '最初の行が1行目からの場合 End If For i = getLine To Lastrow strURL = LCase(Trim(Cells(i, 1).Value)) 'A列の登録URL strURL = Replace(strURL, "https:", "http:") If strURL Like "http*" Then objHttp.Open "GET", strURL, False objHttp.send DoEvents 'ESC割り込み可能にする With objHttp If .Status = 200 Then nURL = .Option(1) 'WinHttpRequestOption_URL f = Mid(strURL, 1, InStr(strURL, "://")) l = Mid(nURL, 1, InStr(nURL, "://")) If nURL = "" Then Cells(i, 2).Value = "no URL" ElseIf nURL <> "" Then If LCase(f) = LCase(l) Then Cells(i, 2).Value = "non SSL" Else Cells(i, 2).Value = "https" End If End If Else Cells(i, 2).Value = "Err:" & .Status End If End With End If Endline: nURL = "" strURL = "" Next i MsgBox "Finished" Exit Sub ErrHandler: If Err() <> 0 Then Cells(i, 2).Value = Err.Number 'マイナスになるのは外部エラー GoTo Endline End If End Sub

  • 変数のクリア

    下のようなソースで、設問 form から変数scoreを取得し、点数によって 表示する診断結果画面をふりわけています。 ところが、何回かこの診断テストをやっているうちに、6点以上のときだけ表示するつもりの sindan3.htmlしか表示されなくなって困っています。 どなたか、修正方法をご指導いただけないでしょうか。 <HTML LANG="JA"><HEAD> <script Language="JavaScript"><!-- score = 0; function GetScore(){ for (i=0; i<6; i++) { if (document.myFORM.elements[i].checked) { score += eval(document.myFORM.elements[i].value); } } if(score >= 0 && score <= 2) { window.open("sindan.html", "kekka1", ""); } else if (score >= 3 && score <= 5) { window.open("sindan2.html", "kekka2", ""); } else{ window.open("sindan3.html", "kekka3", ""); } } // --></script></HEAD> <BODY> <FORM name="myFORM">第一問:あなたは? <BR> <INPUT TYPE="RADIO" NAME="q1" ID="r1" VALUE="1">引きこもり <BR> <INPUT TYPE="RADIO" NAME="q1" VALUE="2">立てこもり <BR> <INPUT TYPE="RADIO" NAME="q1" VALUE="3">生き残り <BR><BR> 第三問:あなたは? <BR> <INPUT TYPE="RADIO" NAME="q3" ID="r3_1" VALUE="1"> <LABEL FOR="r3_1">引きこもり</LABEL> <BR> <INPUT TYPE="RADIO" NAME="q3" ID="r3_2" VALUE="2"> <LABEL FOR="r3_2">立てこもり</LABEL> <BR> <INPUT TYPE="RADIO" NAME="q3" ID="r3_3" VALUE="3"> <LABEL FOR="r3_3">ヤリヤリ・ロリロリ</LABEL> <BR><BR> <input type="button" value="診断" onClick="GetScore()"> </FORM> </BODY></HTML>

専門家に質問してみよう