在表单标记(HTML,JavaScript)中插入<noscript>或类似内容
Inserting <noscript> or similar within form tag (HTML, JavaScript)
我有以下形式:
<form id="signup" onsubmit="return false;">
... form content...
<input class="button" type="submit" />
</form>
单击按钮后,将调用JavaScript函数signup()
。此函数使用 AJAX 调用来验证表单(与当前数据库值进行比较),然后通过 PHP 函数提交表单。
我的问题是:如果用户在浏览器中禁用了JavaScript,有没有办法修改<form>
标签以包含操作和方法?
由于HTML5允许在正文中使用<noscript>
标签,我想我会尝试如下:
<form id="signup" <noscript>action="..." method="post"</noscript>>
但这行不通。
如果用户启用了他们的 JS,我希望 AJAX 调用来处理所有事情 - 它可以提供非常干净的用户体验。但是,对于那些禁用JS的人来说,我需要它仍然有效。
提前谢谢你。
你看
错了。您始终希望在表单中包含action
和method
属性。
<form id="signup" action="/path/to/signup" method="post">
然后,您将一个函数绑定到 submit
事件,并使用 .preventDefault();
阻止表单提交(我在这里假设 jQuery 用法)
$('#signup').on('submit', function(e) {
e.preventDefault();
// submit data via ajax here
});
这要好得多,因为您不必再在javascript中设置登录URL。您只需从表单中获取它。
$.ajax({
type: "POST",
url: $('#signup').attr('action'),
data: $('#signup').serialize()
})
.done(function( msg ) {
// logged in (or not)
});
像这个例子一样尝试
<form action="calcSquare.php">
<p>
<label for=x>Number</label>:
<input id="x" name="x" type="number">
</p>
<script>
var x = document.getElementById('x');
var output = document.createElement('p');
output.textContent = 'Type a number; it will be squared right then!';
x.form.appendChild(output);
x.form.onsubmit = function () { return false; }
x.oninput = function () {
var v = x.valueAsNumber;
output.textContent = v + ' squared is ' + v * v;
};
</script>
<noscript>
<input type=submit value="Calculate Square">
</noscript>
</form>
相关文章:
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 将对象动态插入到现有对象中
- 将数组中的值插入到表中
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 使用PHP插入HTML在JavaScript上不起作用
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- 如何使用innerHtml正确插入html
- AngularJS指令,在元素后插入HTML
- 当用户按下回车键时,自动在text区域/text中插入消息
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 将文本插入光标所在的文本区域
- 属性gridster项应插入到何处
- 预加载图像并插入DOM