input type="text" id="txt" value=""
input type="button" onclick="" id="b" value="Сохранить"
Можно ли при нажатии на кнопку 'Сохранить' сохранять значение текстового поля? Допустим, я ввёл в текстовое поле текст "777", и мне нужно сохранить это не в отдельный файл, а в этот же. И в итоге после сохранения должно получится это:
input type="text" id="txt" value="777"
input type="button" onclick="" id="b" value="Сохранить"
Это для использования только на одном конкретном компьютере - без доступа к сети.
Вот то что Вы хотите, но сразу хочу сказать - так никто не делает, так как злоумышленник может это эксплуатировать на свое усмотрение.
Если отправлять серверу только измененные данные а не всю страницу целиком, можно этому препятствовать, но это совсем другая история и кода в ней будет на порядок больше.
PS: запускал из idea, html файл должен лежать в корне проекта и называться index.html
—-
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import java.io.*;
import java.net.InetSocketAddress;
public class Server {
public static void main(String[] args) throws IOException {
HttpServer server = HttpServer.create(new InetSocketAddress(8087), 0);
server.createContext("/save", new Save());
server.createContext("/", new Serve());
server.start();
System.out.println("http://localhost:8087/index.html");
}
static abstract class Handler implements HttpHandler {
@Override
public void handle(HttpExchange http) throws IOException {
OutputStream outputStream = http.getResponseBody();
byte[] result;
int code = 200;
try {
result = process(http);
} catch (Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
result= sw.getBuffer().toString().getBytes();
code = 500;
}
http.sendResponseHeaders(code, result.length);
outputStream.write(result);
outputStream.close();
}
abstract byte[] process(HttpExchange http) throws Exception;
}
static class Save extends Handler {
@Override
byte[] process(HttpExchange http) throws Exception {
FileWriter fw = new FileWriter(new File("index.html"));
fw.write(new String(read(http.getRequestBody()).toByteArray()));
fw.close();
return "saved".getBytes();
}
}
static class Serve extends Handler {
@Override
byte[] process( HttpExchange http) throws Exception {
String path = "." + http.getRequestURI().getRawPath();
return read(new FileInputStream(path)).toByteArray();
}
}
static ByteArrayOutputStream read(InputStream is) throws IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[1024];
while ((nRead = is.read(data, 0, data.length)) != -1)
buffer.write(data, 0, nRead);
buffer.flush();
return buffer;
}
}
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
<input type="text" id="txt" value="">
<input type="button" onclick="save()" value="Сохранить">
<script>
function save() {
txt.setAttribute('value', txt.value);
return fetch('/save', {
method: 'POST',
body: document.documentElement.innerHTML,
}).then(resp => {
console.log(resp)
}).catch(err => {
console.error(resp)
})
}
</script>
</body>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть ли возможность сделать приложение с GUI, написанным на C#, а функционал на Python? Есть библиотеки и задачи которые будет в 14 раз легче написать...
я тут недавно начал пытаться разобраться в IdentityServerТак сложилось чтоя по работал на не скольких проектов, но почти всегда IdentityServer уже был...
Есть Чекбокс, и событие его изменения
После регистрации, прльзователю на почту приходит ссылка, для активации аккаунта, ссылка выглядит следующим образом: