자바 스크립트 확인 팝업 예, 아니오 버튼 대신 확인 및 취소


113

자바 스크립트 확인 팝업, 확인 및 취소 대신 예, 아니오 버튼을 표시하고 싶습니다.

이 vbscript 코드를 사용했습니다.

<script language="javascript">
    function window.confirm(str) {
        execScript('n = msgbox("' + str + '","4132")', "vbscript");
        return (n == 6);
    }
</script>

이것은 IE, In FF 및 Chrome에서만 작동하며 작동하지 않습니다.

Javascript에서 이것을 달성하는 해결 방법이 있습니까?

IE에서 'Windows Internet Explorer'가 표시되는 것처럼 팝업 제목도 변경하고 싶습니다. 여기에 내 애플리케이션 이름을 표시하고 싶습니다.


예 아니오 대화를 직접 만들었습니다 : github.com/stein189/YesNoDialog 원하는 경우이 대화를 시도해 볼 수 있습니다
Szenis

답변:


88

불행히도 기본 확인 / 취소 쌍이 아닌 확인 대화 상자를 여는 브라우저 간 지원은 없습니다. 제공 한 솔루션은 IE에서만 사용할 수있는 VBScript를 사용합니다.

대신 DOM 기반 대화 상자를 빌드 할 수있는 Javascript 라이브러리를 사용하는 것이 좋습니다. Jquery UI 시도 : http://jqueryui.com/


17

브라우저 간 방식으로이를 수행 할 수있는 유일한 방법은 jQuery UI와 같은 프레임 워크를 사용하고 사용자 지정 대화 상자를 만드는 것입니다.

jquery 대화 상자

내장 확인 팝업과 똑같은 방식으로 작동하지는 않지만 원하는 작업을 수행 할 수 있어야합니다.


4
명확성을 위해 이것이 유일한 방법은 아닙니다. 물론 자바 스크립트로 직접 작성할 수 있습니다.
LeonardChallis

1
@LeonardChallis이지만 모달 div 기능을위한 대용량 라이브러리를 포함하는 것이 더 낫습니까? 나는 그렇게 생각하지 않습니다
nicholaswmin

8

http://projectshadowlight.org/jquery-easy-confirm-dialog/를 사용할 수도 있습니다 . 매우 간단하고 사용하기 쉽습니다. jquery 공용 라이브러리와 하나 이상의 파일 만 포함하십시오.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/blitzer/jquery-ui.css" type="text/css" />
<script src="jquery.easy-confirm-dialog.js"></script>

4

confirm () 함수 또는 이와 유사한 기능을 사용하여 브라우저 간이 작업을 수행 할 수 없습니다. 대신 jQuery UI 대화 상자 기능 과 같은 것을 사용하여 HTML 대화 상자를 만드는 것이 좋습니다.



3

사용할 수있는 기능 (작고 간단한) 라이브러리는 JSDialog : js.plus/products/jsdialog입니다.

예 및 아니오 버튼이있는 대화 상자를 만드는 샘플은 다음과 같습니다.

JSDialog.showConfirmDialog(
    "Save document before it will be closed?\nIf you press `No` all unsaved changes will be lost.",
    function(result) {
        // check result here
    },
    "warning",
    "yes|no|cancel"
);

JS Dialog 데모 스크린 샷


1
이봐, 이거 어디서 싣는거야?
Gary

@Gary Links는 수십 년 동안 기본적으로 파란색 밑줄이 그어진 텍스트를 사용했습니다. 이 답변의 첫 번째 줄에있는 파란색 텍스트 위로 마우스를 이동하고 왼쪽 버튼을 클릭합니다.
버려진 카트

프리미엄 플러그인은 프로그래머에게 도움이되지 않습니다
Chris Pink

1

sweetalert를 사용할 수 있습니다.

HTML로 가져 오기 :

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>

경고를 실행하려면 :

Swal.fire({
  title: 'Do you want to do this?',
  text: "You won't be able to revert this!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, Do this!',
  cancelButtonText: 'No'
}).then((result) => {
  if (result.value) {
    Swal.fire(
      'Done!',
      'This has been done.',
      'success'
    )
  }
})

더 많은 데이터를 보려면 sweetalert 경고 웹 사이트를 방문하십시오.


0

1) 사이트에서 아래 파일을 다운로드하여 업로드 할 수 있습니다.

<link href="/Style%20Library/css/smoothness/jquery.alerts.css" type="text/css" rel="stylesheet"/> 

2) 그 후 아래 코드를 직접 사용할 수 있습니다.

$ .alerts.okButton = "예"; $ .alerts.cancelButton = "아니요";

document.ready 함수에서.

작동합니다.

감사


-11

요점에 대한 매우 구체적인 대답은 대화를 확인하는 것입니다. Js 기능 :

confirm('Do you really want to do so');

확인 취소 버튼이있는 대화 상자를 표시합니다.이 버튼을 예 아니오로 바꾸려면 jQuery 함수를 작성해야하므로 간단한 작업이 아닙니다.


1
그는 예와 아니오를 원했습니다.이 확인은 확인 또는 취소만을 제공합니다. 그것이 이것이 투표를 거부하는 이유입니다.
SpoiledTechie.com
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.