Я хочу выполнить javascript в теге привязки, как показано ниже
<a href="javascript:void(0)" data-cb-type="checkout" data-cb-plan-id="some_id">
</a>
У меня есть модальное диалоговое окно SubscriptionConfirmDialog , вызываемое из компонента. Вот как я называю
<SubscriptionConfirmDialog
isVisible={true}
title="Your trial has ended"
message="Some long text message"
confirmBtnLabel="Sign Up"
type="info"
onClose={() => this._handleConfirmDialog("cancel")}
onConfirm={() => this._handleConfirmDialog("sign up")}
/>
private _handleConfirmDialog = (type: string) => {
// click event is reaching here
if (type === "cancel") {
// somethig here
} else if (type === "signup") {
this.callJavascriptFunction();
}
}
private callJavascriptFunction = () => {
return (
<a href="javascript:void(0)" data-cb-type="checkout" data-cb-plan-quantity="1"
data-cb-plan-id="some_id"> </a>
);
}
Inside SubscriptionConfirmDialog ниже приведен код кнопки внутри тега div. Вот пример кода
import { Dialog,DialogTitle,DialogContent, DialogActions, Button,Divider} from "@material-ui/core";
<Dialog>
<DialogActions>
<Button
onClick={onConfirm}
variant={"contained"}
color={somecolor}
>
<a href="javascript:void(0)" data-cb-type="checkout" data-cb-plan-id="some_id"> Sign Up</a>
</Button>
</DialogActions>
</Dialog>
Теперь сценарий, когда пользователь нажимает кнопку Зарегистрироваться , должен вызываться код javascript в теге привязки. когда я отлаживаю код, управление отладкой посещает тег привязки Button , но каким-то образом сценарий не выполняется. Для выполнения javascript я создал callJavascriptFunction и вернул скрипт. В этом случае также отладчик, посещающий код, но не выполняющий сценарий.
Когда я помещаю этот сценарий в тег div плоскости (не диалоговое окно, а простой компонент реакции), сценарий работает без сбоев. Я не знаю, почему сценарий не выполняется из диалогового окна, когда я нажимаю кнопку в диалоговом окне.
Пожалуйста, помогите мне выйти из этой странной ситуации.