Jump to content
  • 0

Jquery красивое поле ввода


jumancy
 Share

Question

Помогите пожалуйста, задача состоит в том, чтоб можно было редактировать название при любом клике.

Примерный код можно видеть здесь

Нажали на название вылез инпут для редактирование. Надо чтобы обратно при клике (и в инпуте и в любом другом месте название сохранялось, т.е. обработалась форма - это будет

$('#myform').submit()

)

Edited by jumancy
Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Помогите пожалуйста, задача состоит в том, чтоб можно было редактировать название при любом клике.

Примерный код можно видеть здесь

Нажали на название вылез инпут для редактирование. Надо чтобы обратно при клике (и в инпуте и в любом другом месте название сохранялось, т.е. обработалась форма - это будет

$('#myform').submit()

)

У поля, которое будет появляться и исчезать, сделай свойство, куда сохраняй его текст.

Link to comment
Share on other sites

  • 0

вот написал маленький примерчик ;)

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Изменение поля</title>
<script src="jquery.js" type="text/javascript"></script>
</head>

<body>
<div>
<span id="text">Название</span><input id="but" type="button" value="Редактировать"/>
</div>
<script type="text/javascript">
$(function() {
$("#but").click(function() {
if($("#but").val()=='Редактировать'){
$("#text").html('<input type="text" name="text" id="inptext" value="' + $("#text").text() + '" />');
$("#but").val("Сохранить");
}else{
$("#text").text($("#inptext").val());
$("#but").val("Редактировать");
}
return false;
});
});
</script>
</body>
</html>

Edited by Gold Dragon
Link to comment
Share on other sites

  • 0

Я это так представляю:

Поле редактирование появляется не на клик по тексту. При ховере на текст появляется кнопочка, при клике на которую можно редактировать текст.

Мне это кажется удобным, а там сами смотрите.

Вобщем каким образом вы попадете на инпут - вам решать.

Опять таки сохранял бы я изменения при клике на кнопку, а не при потере инпутом фокуса.

Вдруг я что-то скопировать хочу на странице?

Сам тег формы можно и не создавать.

Потом новое значение переносить в тот тег который отображает текст и аяксом отправить это значение на серв, чтобы там это тоже сохранилось.

Если вы хотите

Надо чтобы обратно при клике (и в инпуте и в любом другом месте название сохранялось, т.е. обработалась форма - это будет

То вам это нужно делать при потере инпутом фокуса.

Link to comment
Share on other sites

  • 0

не совсем верно сохранять какие-либо данные при потере фокуса.. Процесс должен контролироваться, а потеря фокуса может произойти по многим причинам и даже без контроля со стороны пользователя. К тому же что значит обработка формы? :)

Link to comment
Share on other sites

  • 0

ну тогда просто добавить в мой код GET или POST запрос на сервер..

Но сразу хочу вернуться к безопасности данных и кода.. При таком раскладе желательно (у себя бы я сделал обязательным) при редактировании получать значение не из текстового поля, а из базы где это значение хранится.

Link to comment
Share on other sites

  • 0

ну тогда просто добавить в мой код GET или POST запрос на сервер..

Но сразу хочу вернуться к безопасности данных и кода.. При таком раскладе желательно (у себя бы я сделал обязательным) при редактировании получать значение не из текстового поля, а из базы где это значение хранится.

А это будет происходить с перезагрузкой странички?

Link to comment
Share on other sites

  • 0

А это будет происходить с перезагрузкой странички?

зачем? просто добавим к примеру после этого

 $("#but").val("Редактировать");

это

$.get('saveform.php', {name , $("#text").text($("#inptext").val())});

и соответственно в фале saveform.php получаем $_GET['name']... и в общем делаем с данными что нужно

Edited by Gold Dragon
  • Like 1
Link to comment
Share on other sites

  • 0

Спасибо всем, надо было использовать метод blur

Никаких проблем не возникает потому что у всех элементах есть уникальные ID. ayax-сом через id получается значение инпута и отправляется

Link to comment
Share on other sites

  • 0

я уже объяснял почему фокус это не самый лучший способ.. Если не нравится кнопка (хотя ей любой стиль можно сделать), то можно сделать маленькую картинку или ссылку. Но лучше принудительно сохранять

Edited by Gold Dragon
Link to comment
Share on other sites

  • 0

не совсем верно сохранять какие-либо данные при потере фокуса.. Процесс должен контролироваться, а потеря фокуса может произойти по многим причинам и даже без контроля со стороны пользователя. К тому же что значит обработка формы? :)

Я вас понимаю, но для данного проекта это даже очень подходит. У фотографии есть название (оно в блоке - НЕ инпут). когда на него кликаешь появляется инпут для редактирования. При потере фокуса сохраняется и обратно превращается на блок. Я не думаю что, такой прием (с потерей фокуса) приведет к каким то фатальному результату.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy