【发布时间】:2011-03-27 20:12:36
【问题描述】:
我有一个表单,它有 2 个输入和 1 个 texatarea,当用户提交表单时,表单的默认行为会停止,以便为 ajax 请求开辟道路。这是我正在使用的代码。
$(document).ready(function(){
$('input#submit').click(function(){
$name = $('input#name').val();
alert($name);
return false;
});
});
这是我的html表单
<form action="" method="post" id="mail-form">
<label for="name">Name *</label><br/>
<input type="text" name="name" id="name"/><br/>
<label for="email">Email *</label><br/>
<input type="text" name="email" id="email"/><br/>
<label for="message">Message *</label><br/>
<textarea id="message"></textarea>
<input type="submit" name="submit" value="Send" id="submit"/>
</form>
当我单击提交按钮时,即使我在名称字段中输入了一些值,它也只会在警报框中显示空白值。而如果我使用以下代码作为表单。
<input type="text" name="name" id="name" value="yourname"/>
它会在警报框中正确显示您的姓名。我的代码有什么问题?
更新:
这是我的整个index.html (http://jsfiddle.net/MknfR/) 文件,DOM 有什么问题吗?
【问题讨论】:
-
你的意思是有 $name 吗?我知道当我同时使用 php 和 Javascript 时,它有时会潜入其中,但是当你使用 JQuery 时很难判断它是否是一个小故障。
-
您的代码似乎运行良好:jsfiddle.net/nogoodatcoding/p4rTG
-
请看我的帖子,我已经用 index.html 文件的链接更新了我的帖子,我怀疑它是否与 DOM 有关??
-
@Ibrahim 即使这似乎工作正常:jsfiddle.net/nogoodatcoding/MknfR/3 - 我所做的唯一更改是将您的
bxslider代码移动到click处理程序之后,因为该脚本没有加载小提琴 -
我建议通过删除除 jQuery 之外的所有额外内容来简化您的页面,确保其正常工作,然后一一添加您的外部 JS 文件和功能,直到出现问题。