Javascript在没有jQuery的URL中获取表单值

时间:2011-07-22 08:11:43

标签: php html ajax forms post

如果通过POST通过经典的HTML表单方法提交数据,是否可以使用没有库的标准Javascript访问这些值?怎么会这样做?

为清晰起见编辑:变量已发布。我试图通过javascript访问这些值。

5 个答案:

答案 0 :(得分:1)

在盒子外思考:(一个永远不会看到光明的黑客)

对于此示例,已发布变量为“a”:

var val=document.URL;
var start;
start = val.search(/a=/);
var end;
end = val.search(/&/);
var thispos = val.substring(start+2,end);
  1. document.URL返回当前网站的网址。
  2. val.search返回第一次出现的正则表达式的位置 参数字段。
  3. substring这两个......
  4. thispos现在包含已发布的变量。
  5. 残酷但功能齐全。作为答案,这太可怕了吗?

答案 1 :(得分:0)

使用:

var myField = document.getElementById('myFieldId');

然后myField.value将包含值。

答案 2 :(得分:0)

在帖子之后,数据被发送到服务器,javascript无法从客户端做任何事情。您可以做的是使用document.getElementById('formid')进行预先检查,并在表单中使用这些值。在验证或执行您想要执行的操作后,请以form.submit()结束以将其真正发送到服务器。

答案 3 :(得分:0)

提交的数据(POST或GET)在服务器端进行处理。 Javascript在客户端运行,因此您无法从接收表单请求的页面访问变量。 但您可以使用输入字段ID在帖子之前访问它们(特别是在发送之前检查输入值)。

答案 4 :(得分:0)

如果您已提交页面,则必须使用PHP获取表单数据。 这是一个应该有用的教程:http://www.phpf1.com/tutorial/php-form.html

如果你决定测试jQuery,你可以使用它:

jQuery('#submit').live('click', function() 
{
  var form_data = jQuery("#data_form").serialize();  

  //Save data
  jQuery.ajax({
    url: siteURL +"/path/to/php/file/jquery.php",
    data: {formData : form_data,
    success: (function(data) {
      //data is whatever you return from jquery.php
      //I use json for return data
      alert('Data has been saved');
    }),
    dataType: 'json'
  });