Я пытаюсь создать форму, когда кто-то нажимает кнопку «Изменить». Я следую этому примеру: http://jqueryui.com/demos/dialog/modal-form.htmlкнопка jQuery и модальная форма
У меня есть две проблемы:
Кнопка выглядит как обычная кнопка HTML. Когда я нажимаю, он превращается в кнопку jquery. Затем я снова нажимаю и открывается диалоговое окно. Очевидно, я просто хочу кнопку jquery, которую я нажимаю один раз, чтобы открыть диалог.
Моя форма отображается на главной странице И когда вы нажимаете кнопку редактирования, чтобы открыть диалог. Он не должен отображаться на главной странице. Он должен присутствовать только в диалоговом окне. Но из этого урока (http://jqueryui.com/demos/dialog/modal-form.html) я не вижу, чтобы они скрывали форму, поэтому я не уверен, как они это делают.
Мой HTML-форм:
<div id="dialog-form" title="Change camera settings">
<form>
<fieldset>
<label for="camera_name">Camera Name</label>
<input type="text" size="16" maxlength="32" name="camera_name" id="camera_nameid" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
Моя кнопка (которая находится в другой таблице показаны все камеры):
<button id="editbutton" onClick='edit(this, "<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>", "<?php echo $result_cameras[$i]["camera_name"]; ?>", "<?php echo $camera_quality; ?>")'>Edit</button>
Мой JQuery код. Он по-прежнему нужно больше работать, но только есть одна вещь, я обработка, которая camera_name:
function edit(t, to, cameraname, cameraquality,)
{
var js = jQuery.noConflict();
js(function() {
var name = js("#camera_name");
allFields = js([]).add(name);
js("input:text").val(cameraname); //fill in the current data for cameraname
js("#dialog-form").dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Edit camera settings": function() {
allFields.removeClass("ui-state-error");
},
Cancel: function() {
js(this).dialog("close");
}
},
close: function() {
allFields.val("").removeClass("ui-state-error");
}
});
js("#editbutton")
.button()
.click(function() {
js("#dialog-form").dialog("open");
});
});
}
Спасибо за ответ. Но с этим я вообще не получаю никакого диалога. У меня есть таблица (заполненная из БД с использованием php) с кнопкой редактирования для каждой строки. Это открывает диалог с формой, которая заполняет текущие значения в таблице в форме. Тогда кто-то может отредактировать. Вот почему я передаю кучу переменных функции редактирования, поэтому я знаю значения. – Tom
Оказывается, я возвращаю это. Забыл вернуть обратно noConflict. Спасибо! – Tom