嗨我有一个文本框....我想从那里拿用户输入并传递给PHP,而不使用提交按钮...我宁愿一个正常的按钮和onclick应该将数据传递到php从HTML格式传递值到PHP没有提交表格
好的,这里是我听到的....你可以调用一个JS函数onclick,然后你可以从那里提交表单....但我想在同一页提交表格后......这就是为什么我不想提交的形式在第一个地方......但看起来像没有其他方式......如果任何人知道提交方法,请帮助....
我很欣赏大家的努力
谢谢
嗨我有一个文本框....我想从那里拿用户输入并传递给PHP,而不使用提交按钮...我宁愿一个正常的按钮和onclick应该将数据传递到php从HTML格式传递值到PHP没有提交表格
好的,这里是我听到的....你可以调用一个JS函数onclick,然后你可以从那里提交表单....但我想在同一页提交表格后......这就是为什么我不想提交的形式在第一个地方......但看起来像没有其他方式......如果任何人知道提交方法,请帮助....
我很欣赏大家的努力
谢谢
是的,它被称为AJAX。 :)
在jQuery中,为简洁:
// or $('#textbox_autopost').blur if you want to do it when the box loses focus
$('#textbox_autopost').change(function(){
$.ajax({
type: "POST",
url: "some.php",
data: {text:$(this).val()}
});
});
,如果你想通过按钮来做到这一点单击
<button id="inlinesubmit_button" type="button">submit</submit>
$('#inlinesubmit_button').click(function(){
$.ajax({
type: "POST",
url: "some.php",
data: {text:$('#textbox').val()}
});
});
你也可以做到这一点通过A HREF(或提交按钮或其他东西古怪:
<!-- backup if JS not available -->
<a href="handler.php" id="inline_submit_a">add comment</a>
$('#inline_submit_a').click(function(evt){
$.ajax({
type: "POST",
url: "some.php",
data: {text:$('#textbox').val()}
});
evt.preventDefault();
return false;
});
如果你想在做进入:
$('#textbox_autopost_onenter').keydown(function(evt){
if ((evt.keyCode) && (evt.keyCode == 13))
{
$.ajax({
type: "POST",
url: "some.php",
data: {text:$(this).val()}
});
evt.preventDefault();
return false;
}
});
决赛,现场准备代码:
$(document).ready(function(){
function submitMe(selector)
{
$.ajax({
type: "POST",
url: "some.php",
data: {text:$(selector).val()}
});
}
$('#textbox_button').click(function(){
submitMe('#textbox');
});
$('#textbox').keydown(function(evt){
if ((evt.keyCode) &&(evt.keyCode == 13))
{
submitMe('#textbox');
evt.preventDefault();
return false;
}
});
嗨约翰...我只想问一件事......当用户没有完成输入时,它甚至会发送数据,或者在用户完成输入后它会发送数据....因为听起来像几乎所有击键后都会发送数据... ..无论如何,我可以确保用户已经完成输入 – koool 2011-05-19 21:48:13
是的,这发送每个按键。您想如何检测用户是否已完成打字?有几个选项:用户点击输入,用户点击表单。如果是后者,只需将'.change(function'改为'.blur(function')。前者是可行的,但需要另外一行或两行代码。 – 2011-05-19 21:57:12
进入或者我有一个表单点击按钮可以通知该用户已完成...感谢您的回复 – koool 2011-05-19 22:04:52
您需要使用Javascript将AJAX POST请求发送回服务器上的PHP。
有一个很好的教程here,它使用jQuery来验证表单,发送给服务器,然后根据服务器的响应向用户显示一条消息。
我不确定你所说的“普通按钮”的意思,但如果你不想使用<input type="submit">
,您可以使用<button type="submit">
。
A button
为您提供了更大的布局自由度,但如果在一个页面中使用多个button
元素,旧版本的IE会变得困惑。
几种方法可以做到这一点......
听起来好像你是一个非重定向解决方案后,所以我建议jQuery的(这是我最喜欢的,但也有实现AJAX很多其他的解决方案),并做类似如下:
假设你有一个文本框和按钮这样的:
<input id="txt_input" type="text" />
<input id="btn_send" type="button" value="Submit" />
然后做这样的事情
$(document).ready(function() {
$("#btn_send").click(function() {
// Do stuff BEFORE sending... //
callAFunction();
var test = "asdfasdf";
// Send the text to PHP //
$.post("test.php", { input: $("#txt_input").val()},
function(data) {
alert("test.php returned: " + data);
}
);
// Do more stuff after sending.... //
callAnotherFunction();
});
});
我相信会得到你以后有什么。有关jQuery和更多选项与$ .post,更多信息,请点击这里:http://api.jquery.com/jQuery.post/
希望帮助!
你的目标是?你想防止重新加载页面吗? – 2011-05-19 21:33:31
是的,另一个目标是我不想使用AJAX – koool 2011-05-19 21:38:07
java \ flash应用程序只剩下我能想到的 – 2011-05-19 21:39:47