diff --git a/apps/i2ptunnel/jsp/editClient.jsi b/apps/i2ptunnel/jsp/editClient.jsi
index f89f7423c..3c70a586e 100644
--- a/apps/i2ptunnel/jsp/editClient.jsi
+++ b/apps/i2ptunnel/jsp/editClient.jsi
@@ -85,17 +85,11 @@
<%=intl._t("Port")%>:
<%
- String value = editBean.getClientPort(curTunnel);
- if (value == null || "".equals(value.trim())) {
- out.write(" (");
- out.write(intl._t("required"));
- out.write(") ");
- }
String phelp = intl._t("Specify the local port this service should be accessible from");
String ptext = canChangePort ? phelp : bStopFirst;
String pdisabled = canChangePort ? "" : " readonly=\"readonly\" ";
%>
- />
+ " required <%=pdisabled%>/>
<%
if ("streamrclient".equals(tunnelType)) {
@@ -104,13 +98,8 @@
<%=intl._t("Host")%>:
<%
String targetHost = editBean.getTargetHost(curTunnel);
- if (targetHost == null || "".equals(targetHost.trim())) {
- out.write(" (");
- out.write(intl._t("required"));
- out.write(") ");
- }
%>
- " value="<%=targetHost%>" class="freetext host" placeholder="required" />
+ " value="<%=targetHost%>" class="freetext host" placeholder="<%=intl._t("required")%>" required />
<%
} else {
@@ -221,14 +210,7 @@
- <% String value2 = editBean.getClientDestination(curTunnel);
- if (value2 == null || "".equals(value2.trim())) {
- out.write(" (");
- out.write(intl._t("required"));
- out.write(") ");
- }
-%>
- <%=intl._t("For a random selection from a pool, separate with commas e.g. server1.i2p,server2.i2p")%>" value="<%=editBean.getClientDestination(curTunnel)%>" class="freetext destination" placeholder="required" />
+ <%=intl._t("For a random selection from a pool, separate with commas e.g. server1.i2p,server2.i2p")%>" value="<%=editBean.getClientDestination(curTunnel)%>" class="freetext destination" placeholder="<%=intl._t("required")%>" required />
<%=intl._t("name, name:port, or destination")%>
<%
if ("streamrclient".equals(tunnelType)) {
@@ -746,9 +728,15 @@
+ <%=intl._t("Cancel")%>
+<%
+ if (curTunnel >= 0) {
+%>
- <%=intl._t("Cancel")%>
- "><%=intl._t("Delete")%>
+ " formnovalidate><%=intl._t("Delete")%>
+<%
+ }
+%>
<%=intl._t("Save")%>
diff --git a/apps/i2ptunnel/jsp/editServer.jsi b/apps/i2ptunnel/jsp/editServer.jsi
index 51b3dcfc0..7f24218fe 100644
--- a/apps/i2ptunnel/jsp/editServer.jsi
+++ b/apps/i2ptunnel/jsp/editServer.jsi
@@ -89,18 +89,13 @@
<% } /* !streamrserver */ %>
<%=intl._t("Port")%>:
- <% String value = editBean.getTargetPort(curTunnel);
- if (value == null || "".equals(value.trim())) {
- out.write(" (");
- out.write(intl._t("required"));
- out.write(") ");
- }
+<%
String asphelp = intl._t("Specify the local port this service should be accessible from");
String bsphelp = intl._t("Specify the port the server is running on");
String ptext = canChangePort ? (isStreamrServer ? asphelp : bsphelp) : stopFirst;
String pdisabled = canChangePort ? "" : " readonly=\"readonly\" ";
%>
- />
+ " required <%=pdisabled%> />
<% if (!isStreamrServer) { %>
"> class="tickbox" />
<%=intl._t("Use SSL to connect to target")%>
@@ -115,16 +110,11 @@
<%=intl._t("Port")%>:
-<% String value4 = editBean.getClientPort(curTunnel);
- if (value4 == null || "".equals(value4.trim())) {
- out.write(" (");
- out.write(intl._t("required"));
- out.write(") ");
- }
+<%
String csphelp = intl._t("Port required to access service (this can be a different port to the port the service is hosted on)");
String dsphelp = canChangePort ? csphelp : stopFirst;
%>
- />
+ " required <%=pdisabled%> />
<% } /* httpbidirserver */
if (isBidirServer || isStreamrServer) {
@@ -184,17 +174,11 @@
" tabindex="0"><%=editBean.getDestinationBase64(curTunnel)%>
<%
- String value3 = editBean.getPrivateKeyFile(curTunnel);
- if (value3 == null || "".equals(value3.trim())) {
- out.write(" (");
- out.write(intl._t("required"));
- out.write(") ");
- }
String htext = intl._t("Path to Private Key File");
String dtext = canChangeDest ? htext : stopFirst;
String ddisabled = canChangeDest ? "" : " readonly=\"readonly\" ";
%>
- />
+ " required <%=ddisabled%> />
<%
@@ -1024,9 +1008,15 @@
+ <%=intl._t("Cancel")%>
+<%
+ if (curTunnel >= 0) {
+%>
- <%=intl._t("Cancel")%>
- "><%=intl._t("Delete")%>
+ " formnovalidate><%=intl._t("Delete")%>
+<%
+ }
+%>
<%=intl._t("Save")%>
diff --git a/apps/i2ptunnel/jsp/ssl.jsp b/apps/i2ptunnel/jsp/ssl.jsp
index 296d77de1..1b91e4a00 100644
--- a/apps/i2ptunnel/jsp/ssl.jsp
+++ b/apps/i2ptunnel/jsp/ssl.jsp
@@ -2,8 +2,7 @@
%><%@page pageEncoding="UTF-8"
%><%@page contentType="text/html" import="java.io.File,java.io.IOException,net.i2p.crypto.KeyStoreUtil,net.i2p.data.DataHelper,net.i2p.jetty.JettyXmlConfigurationParser"
%><%@page
-%>
-
+%>
<%
/* right now using EditBean instead of IndexBean for getSpoofedHost() */
/* but might want to POST to it anyway ??? */
@@ -557,14 +556,14 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<%--
<%=intl._t("Add Port Routing")%>
- " value="" class="freetext port" placeholder="required" />
+ " value="" class="freetext port" placeholder="<%=intl._t("required")%>" required />
" value="<%=name%>" class="freetext" />
" value="<%=targetHost%>" class="freetext host" /> :
- " value="" class="freetext port" placeholder="required" />
+ " value="" class="freetext port" placeholder="<%=intl._t("required")%>" required />
--%>
diff --git a/apps/i2ptunnel/jsp/themes/dark/i2ptunnel.css b/apps/i2ptunnel/jsp/themes/dark/i2ptunnel.css
index 1cdec3b3f..c425c7dee 100644
--- a/apps/i2ptunnel/jsp/themes/dark/i2ptunnel.css
+++ b/apps/i2ptunnel/jsp/themes/dark/i2ptunnel.css
@@ -909,30 +909,6 @@ td.blankColumn {
padding: 0;
}
-.required:not(old) {
- display: none;
-}
-
-input::-moz-placeholder {
- color: #f00;
- font-weight: bold;
- opacity: 1;
-}
-
-::-webkit-input-placeholder {
- color: #f00;
- font-weight: bold;
- opacity: 1;
-}
-
-input:focus::-moz-placeholder {
- opacity: 0;
-}
-
-:focus::-webkit-input-placeholder {
- opacity: 0;
-}
-
input.tunnelName, input.tunnelDescriptionText, #userAgents {
width: 80%;
min-width: 280px;
@@ -1051,16 +1027,6 @@ input.tunnelName, input.tunnelDescriptionText, #userAgents {
line-height: 140%;
}
-#wizardPanel input::-moz-placeholder {
- color: #bb7;
- font-weight: normal;
-}
-
-#wizardPanel ::-webkit-input-placeholder {
- color: #bb7;
- font-weight: normal;
-}
-
#wizardPanel .options {
padding: 10px;
}
diff --git a/apps/i2ptunnel/jsp/themes/light/i2ptunnel.css b/apps/i2ptunnel/jsp/themes/light/i2ptunnel.css
index 9ad8ce61a..83e949d2c 100644
--- a/apps/i2ptunnel/jsp/themes/light/i2ptunnel.css
+++ b/apps/i2ptunnel/jsp/themes/light/i2ptunnel.css
@@ -785,28 +785,6 @@ table#statusMessages textarea, table#statusMessages textarea:active {
padding: 0;
}
-.required:not(old) {
- display: none;
-}
-
-input::-moz-placeholder {
- color: #f00;
- opacity: 1;
-}
-
-input:focus::-moz-placeholder {
- opacity: 0;
-}
-
-::-webkit-input-placeholder {
- color: #f00;
- opacity: 1;
-}
-
-:focus::-webkit-input-placeholder {
- opacity: 0;
-}
-
input.tunnelName, input.tunnelDescriptionText, #userAgents, .freetext.tunnelDescription {
width: 80%;
min-width: 280px !important;
@@ -919,16 +897,6 @@ input.tunnelName, input.tunnelDescriptionText, #userAgents, .freetext.tunnelDesc
text-align: justify;
}
-#wizardPanel input::-moz-placeholder {
- color: #999;
- font-weight: normal;
-}
-
-#wizardPanel ::-webkit-input-placeholder {
- color: #999;
- font-weight: normal;
-}
-
#wizardPanel .options {
padding: 10px;
}
diff --git a/apps/i2ptunnel/jsp/wizard.jsp b/apps/i2ptunnel/jsp/wizard.jsp
index 2c2739b10..7640243e3 100644
--- a/apps/i2ptunnel/jsp/wizard.jsp
+++ b/apps/i2ptunnel/jsp/wizard.jsp
@@ -1,8 +1,7 @@
<%@include file="headers.jsi"
%><%@page pageEncoding="UTF-8"
%><%@page contentType="text/html" import="net.i2p.i2ptunnel.web.EditBean"
-%>
-
+%>
<% String pageStr = request.getParameter("page");
@@ -49,11 +48,8 @@
-
-