M2DAI Ответов: 1

Как сделать всплывающую форму, в реагируешь?


https://i.stack.imgur.com/rJZMo.png

https://i.stack.imgur.com/X0pKF.png


Я пытаюсь сделать всплывающую форму в react ...

<div className="form-popup" id={"myForm"}>
    <Modal open={handleClose} onclose={handleShow} id={'content'}>
    
    <form react mailto='' className="form-container" >
    
     <label for="email">Email</label>
    <input type="text" placeholder={"Enter Email"} name={"email"} required />
    
    <label for={"name"}>Name</label>
    <input type={"text"} placeholder="Enter Name" name={"name"} required />
    
    <label for={"message"}>Message</label>
<textarea type="textarea" name={"message"} placeholder={"Your Message Here"} maxlength={"6000"} rows={"7"} required></textarea>
                    
    <button type="submit" className={"btn"}>Submit</button>
    <button type="submit" className={"btn cancel"} onclick={handleShow}>Close</button>
                    
   

    </form> 
       </Modal>
    
    <button className="open-button" onclick={handleShow}>Contact Me</button>  
    </div>


#содержание {
топ: 50%;
осталось: 50%;
справа: авто;
дно: авто;
маржа справа: -50%;
transform:translate(-50%, -50%);
}

/* контактная форма */

#contactbtn {
граница-радиус: 25px;
фон: зеленый;
курсор: указатель;
бордюр-цвет: красный;
коробке-тень: 0px 20 пикселей 20 ПКС -20 ПКС;
ширина: 90px;
высота: 35px;
положение: фиксированное;
белый цвет;
дно: 0 !важно;
правильно: 0 !важно;
justify-content: правильно !важно;
}

#btncancel {
курсор: указатель;
align-self: слева;
фон: черный;
белый цвет;
прокладка: 5px;
маржа: 10px;
поле слева: 98px;
дисплей: встроенный блок;
шрифт: 'Bree Serif', Georgia, serif;
}

.кнопка Open {
цвет фона: синий;
белый цвет;
прокладка: 16px 20px;
граница: отсутствует;
курсор: указатель;
непрозрачность: 0,8;
положение: фиксированное;
дно: 23px;
справа: 28px;
ширина: 280px;
margin-top: 95px;
границы-радиус: 5 пикселей 25 пикселей;
}

/* Всплывающая форма - скрыта по умолчанию */
.форма-всплывающее окно {
дисплей: true;
положение: фиксированное;
дно: 0;
справа: 15px;
граница: 3px solid #f1f1f1;
z-индекс: 9;
}

/* Добавление стилей в контейнер формы */
.форма-контейнер {
максимальная ширина: 300px;
обивка: значение 10px;
цвет фона: белый;
}

/* Поля ввода полной ширины */
.форма-контейнер вход[тип=текст],
.form-container input[type=password] {
ширина: 100%;
обивка: 15px;
маржа: 5px 0 22px 0;
граница: отсутствует;
Предыстория: #f1f1f1;
}

/* Когда входные данные получают фокус, сделайте что-нибудь */
.form-container input[type=text]:focus,
.form-container input[type=password]:фокус {
цвет фона: #ddd;
контур: нет;
}

/* Установите стиль для кнопки submit/login */
.форма-контейнер .БТН {
цвет фона: #4CAF50;
белый цвет;
прокладка: 16px 20px;
граница: отсутствует;
курсор: указатель;
ширина: 100%;
маржа-дно: 10px;
непрозрачность: 0,8;
}

/* Добавьте красный цвет фона к кнопке отмены */
.форма-контейнер .отменить {
цвет фона: красный;
}

/* Добавьте некоторые эффекты наведения на кнопки */
.форма-контейнер .БТН:наведите,
.открыть-кнопка:наведите курсор мыши {
непрозрачность: 1;
}


handleShow = () => setState(setShow => {
return { setShow: true }
});

handleClose = () => setState(setShow => {
return { setShow: false }
});



Что я уже пробовал:

I tried just about everything to make the code work

1 Ответов

Рейтинг:
1

Sandeep Mewara

Взгляните на этот пример и попробуйте:
Создайте простое модальное всплывающее окно с помощью React | WebOmnizz[^]
Создать простое всплывающее окно в ReactJS - посредник ключ [^]


Кроме того, вы можете всплывающий компонент, как:
Reactjs-всплывающее окно[^]