0

削除確認ボタンで複数の関数を呼び出すにはどうすればよいですか?

呼び出す必要がある関数は次のとおりです。

    function ifnull() {
                if (selected_devices_area = "") {
                    window.alert("Please select devices!");
                }
            }

    function submitForm() {

                if (confirm("Do you really want to delete these devices?")) {
                    //document.location.href = '/site/service/device/DeleteMultipleDevices.asp?siteId=<%=iSiteId%>&serviceId=<%=iServiceId%>';

                    document.device.submit();
                    window.alert('Devices successfully deleted.');

                }

ボタンの HTML:

        <tr>    
            <td><a href="/site/service/serviceinfo_main.asp?siteId=<%=iSiteId%> &crType=Delete Multiple Devices&addCr=yes&crId=<%=iCrId %>"class="btnLink">&laquo; Back</a></td>
            <td class="tdRight"><a href="javascript:ifnull();javascript:submitForm();" class="btnLink">Confirm Deletion &raquo;</a></td>
        </tr>
    </table>

このように関数を呼び出していますが、機能していません。

4

1 に答える 1

2

"javascript:" をプレフィックスとして 2 回付ける必要はありません。それ以外の

<a href="javascript:ifnull();javascript:submitForm();" class="btnLink">

行う

<a href="javascript:ifnull();submitForm();" class="btnLink">

しかし、もっと重要なことは、渡されなかった場合に正しく理解した場合ifnull()、フォームを送信したくないということです。ifnull()その場合は、関数を次のように変更します。

function ifnull() {
   if (selected_devices_area = "") {
       window.alert("Please select devices!");
       return true
   } else {
       return false
   }
}

submitForm()次に、関数を次のように変更できます

function submitForm() {
   if (!ifnull() && confirm("Do you really want to delete these devices?")) {
        document.device.submit();
        // You should generate "alert('Devices successfully deleted.');" from server side
        // since as of now you don't know that is really happend
}

呼び出しをに変更します

<a href="submitForm();" class="btnLink">

このようにして、より論理的に簡潔になります。

于 2013-09-26T13:20:45.157 に答える