iam 使用简单的插入脚本函数将值从注册 html 页面传递到注册 php 页面。 这是我的脚本:
function insert() {
// Optional: Show a waiting message in the layer with ID login_response
document.getElementById('insert_response').innerHTML = "Just a second..."
// Required: verify that all fileds is not empty. Use encodeURI() to solve some issues about character encoding.
var dispname= encodeURI(document.getElementById('disp_name').value);
var firstname= (document.getElementById('first_name').value);
var lastname= (document.getElementById('last_name').value);
var gender= (document.getElementById('genderreg').value);
var day= (document.getElementById('day').value);
var month= (document.getElementById('month').value);
var year= (document.getElementById('year').value);
var country= (document.getElementById('countryreg').value);
var city= (document.getElementById('cityreg').value);
var suburb= (document.getElementById('suburbreg').value);
var email= (document.getElementById('emailreg').value);
var password= (document.getElementById('regpassword').value);
var code= (document.getElementById('code').value);
var service= (document.getElementById('termservice').value);
// Set te random number to add to URL request
nocache = Math.random();
// Pass the login variables like URL variable
http.open('get', 'register_insert.php?site_url='+dispname+'&fname= '+firstname+'&lname= '+lastname+'&gender= '+gender
+'&day= '+day+'&month= '+month+'&year= '+year+'&country= '+country+'&city= '+city+'&suburb= '+suburb
+'&email= '+email+'&password= '+password+'&code= '+code+'&service= '+service+'&nocache= '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
我只是有一个小问题,将这样的密码值从 html 传递到 php 页面是否是一个好习惯。如果这不是一个好主意,那么这样做的最佳理由是什么。
提前感谢您的建议。
最佳答案
是的,通常我不会立即建议某人去 javascript 库,但我对 AJAX 是个异常(exception)。让这种事情跨浏览器工作根本不值得。使用 jQuery 可以减轻自己的压力。
另请查看 jQuery 表单插件 - 它会以非常简单的方式为您完成这一切。该网站位于http://malsup.com/jquery/form/ .
但是为了回答你的问题,我会使用 POST 数据。一般经验法则是,如果您要检索某些内容,请使用 GET,但如果您要发送或更改某些内容,请使用 POST。
另一个快速提示是,通过执行以下操作可以使代码更加清晰:
var fields = {'disp_name', 'first_name', 'last_name', 'genderreg' /* etc ... */ ];
var values = {};
for (var i = 0, l = fields.length; i < l; ++i) {
values[fields[i]] = document.getElementById(fields[i]).value;
}
http.open(
'get',
'register_insert.php'
+ '?site_url=' + values.dispname
+ '&fname=' + values.first_name
+ '&lname=' + values.last_name /* etc */
);
...但我认为这并不是那么重要。
关于javascript - 使用 javascript/ajax 将密码值传递到 php 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800393/