我想我已经搜索了标签,是的,我已经在使用它们了。
但是我的问题或想法是:
我有一个表单,包括搜索/插入数据到数据库(mysql)的输入(index.php) 正在search.php上执行表单操作 搜索框搜索所选表中的输入数据,如果找到,则在result.php中给出记录,否则它将数据插入表(sql)中,然后在result.php中显示
即使使用标签,我也在同一页面上使用javascript验证表单/输入 现在加载index.php页面后,如果有人禁用了javascript,它会显示重新加载页面的警报。如果有人重新加载页面,搜索框将隐藏。
但问题是,如果在加载页面后,如果有人禁用javascript并且没有重新加载页面,并使用javascript正则表达式搜索某些受限文本,那么该文本将进入mysql数据库并保存。 search.php执行其操作并将其重定向到result.php
我想在search.php中使用一些技巧来检查启用/禁用javascript的某些条件,然后执行剩余的操作。
是否有任何方式,如果操作应该是另一个页面,在该页面上是javascript被禁用然后它什么也没有显示,如果它被启用然后重定向到search.php
答案 0 :(得分:0)
使用隐藏的输入字段并在表单提交时使用javascript设置其值。由于该值仅使用javascript设置,如果提交的表单对此字段的值为空,则可以断定javascript已被禁用。
使用jQuery:
在html中:
<form id="myformid" action="myactionurl.php" method="POST">
<!-- form fields here -->
<input type="hidden" id="time" name="time" value="">
</form>
在js:
$('#myformid').submit(function(ev) {
$('#time').val($.now());
});
在php中:
if(!empty($_POST['time'])) {
//code
} else {
echo "Javascript must be enabled for this site to work.";
}
你不必使用时间,它可以是任何东西。
答案 1 :(得分:0)
JS级别的表单验证并不重要,您需要考虑的是PHP验证。请阅读以下热门答案:form validation with javascript vs php
并且: How can I prevent SQL injection in PHP?
如果您需要检查JS是否已启用,您只需为表单创建按钮(但不是type =“submit”,而只是按钮元素)。将事件添加到该按钮:
onclick="document.getElementById('FormId').submit();"
并且只有在启用JS时才会提交表单,因为按钮将使用JS进行提交