Php 提交按钮在IE/Safari中不起作用,在Chrome中起作用,但无法传递表单信息
我有一个表单设置,但由于某些原因,JS提交表单在Chrome中工作,而不是IE9或Safari。有趣的是,在Chrome中,提交按钮不起作用,所有信息都无法传递 这是我的提交按钮-Php 提交按钮在IE/Safari中不起作用,在Chrome中起作用,但无法传递表单信息,php,javascript,jquery,parameter-passing,Php,Javascript,Jquery,Parameter Passing,我有一个表单设置,但由于某些原因,JS提交表单在Chrome中工作,而不是IE9或Safari。有趣的是,在Chrome中,提交按钮不起作用,所有信息都无法传递 这是我的提交按钮- <a href="javascript: validate(); return false;"><img type="submit" src="lib/send_feedback.jpg" border="0" class="feedback-submit-img" /></a>
<a href="javascript: validate(); return false;"><img type="submit" src="lib/send_feedback.jpg" border="0" class="feedback-submit-img" /></a>
如果你想更好地查看我正在编辑的页面
编辑
根据Marco的请求,我删除了submit按钮周围的链接,并将onClick事件放置到实际的按钮上。这绝对解决了IE和Safari的问题。现在我剩下的问题/担忧是为什么POST数据不能正确地传递到下一页
-index.php
-feedback-accept.php
还有,既然如此,StackOverflow的首选站点是什么
作为对Brian评论的回应,如果我不能使用failed而不破坏POST数据,那么什么是好的替代方案/解决方法?简单地看一下,我会说您在这里遇到了函数冲突。当您设计提交类型时,您告诉浏览器将提交您的表单(在其操作中),另一方面,它位于调用JS函数的链接中。如果您在JS中制造提交,尝试考虑不使用提交类型,并查看它是否工作得更恰当。
您还可以尝试在表单的标记中替换一个简单的“onSubmit”链接,并从那里调用JS函数。这样,当浏览器识别出用户点击提交按钮时,他将根据您的意愿调用JS函数,如果该函数返回true,则浏览器将允许提交。快速查看,我会说您在这里遇到了函数冲突。当您设计提交类型时,您告诉浏览器将提交您的表单(在其操作中),另一方面,它位于调用JS函数的链接中。如果您在JS中制造提交,尝试考虑不使用提交类型,并查看它是否工作得更恰当。
您还可以尝试在表单的标记中替换一个简单的“onSubmit”链接,并从那里调用JS函数。这样,当浏览器识别出用户点击提交按钮时,他将根据您的意愿调用JS函数,如果该函数返回true,则浏览器将允许提交。尝试以下代码:
$(document).ready(function()
{
$('.validate').bind('submit click',function()
{
//Validate!
//is email
if( /..../.test( $(this).find('input[name=email]').val() ) )
{
alert('Error!!!');
return false; //STOP PROPAGATION
}
//Its okay!
//send form!
$(this).parents('form').submit();
//click event stop propagation
return false;
});
});
<a href="" class="validate">Submit</a>
jQuery:
$(document).ready(function()
{
$('.validate').bind('submit click',function()
{
//Validate!
//is email
if( /..../.test( $(this).find('input[name=email]').val() ) )
{
alert('Error!!!');
return false; //STOP PROPAGATION
}
//Its okay!
//send form!
$(this).parents('form').submit();
//click event stop propagation
return false;
});
});
<a href="" class="validate">Submit</a>
HTML:
$(document).ready(function()
{
$('.validate').bind('submit click',function()
{
//Validate!
//is email
if( /..../.test( $(this).find('input[name=email]').val() ) )
{
alert('Error!!!');
return false; //STOP PROPAGATION
}
//Its okay!
//send form!
$(this).parents('form').submit();
//click event stop propagation
return false;
});
});
<a href="" class="validate">Submit</a>
或
<input type="submit" value="Submit" class="validate" />
<button class="validate" >Submit</button>
或
<input type="submit" value="Submit" class="validate" />
<button class="validate" >Submit</button>
提交
尝试以下代码:
$(document).ready(function()
{
$('.validate').bind('submit click',function()
{
//Validate!
//is email
if( /..../.test( $(this).find('input[name=email]').val() ) )
{
alert('Error!!!');
return false; //STOP PROPAGATION
}
//Its okay!
//send form!
$(this).parents('form').submit();
//click event stop propagation
return false;
});
});
<a href="" class="validate">Submit</a>
jQuery:
$(document).ready(function()
{
$('.validate').bind('submit click',function()
{
//Validate!
//is email
if( /..../.test( $(this).find('input[name=email]').val() ) )
{
alert('Error!!!');
return false; //STOP PROPAGATION
}
//Its okay!
//send form!
$(this).parents('form').submit();
//click event stop propagation
return false;
});
});
<a href="" class="validate">Submit</a>
HTML:
$(document).ready(function()
{
$('.validate').bind('submit click',function()
{
//Validate!
//is email
if( /..../.test( $(this).find('input[name=email]').val() ) )
{
alert('Error!!!');
return false; //STOP PROPAGATION
}
//Its okay!
//send form!
$(this).parents('form').submit();
//click event stop propagation
return false;
});
});
<a href="" class="validate">Submit</a>
或
<input type="submit" value="Submit" class="validate" />
<button class="validate" >Submit</button>
或
<input type="submit" value="Submit" class="validate" />
<button class="validate" >Submit</button>
提交
你能发布生成的源代码吗?一些返回false代码>不同位置的表达式将阻止您提交表单。事件委派我的朋友。。。此外,发布源的首选来源是您选择的任何安全服务。只要你没有发布数百行代码,我认为你很好。你能发布生成的源代码吗?一些返回false代码>不同位置的表达式将阻止您提交表单。事件委派我的朋友。。。此外,发布源的首选来源是您选择的任何安全服务。只要你没有发布数百行代码,我认为你很好。这正是问题所在,我不知道我怎么看不到这一点。很明显,我在JS还是个新手,我非常感谢你花时间解释问题所在。我提供的任何JS代码都会阻止POST数据的传递吗?这正是我不知道为什么看不到的问题。很明显,我在JS还是个新手,我非常感谢你花时间解释问题所在。我提供的任何JS代码都会阻止POST数据的传递吗?如果出于某种原因JS阻止我的POST数据的传递,那么这些都是很好的选择。感谢您对替代解决方案的全面响应。如果出于某种原因JS阻止我的帖子数据被传递,那么这些都是很好的替代方案。感谢您对备选解决方案的全面响应。