0

从网上看,我没有看到很多设置函数等于函数的例子。但是,在我发现的几个论坛中,似乎很多人说这种方法没有得到广泛支持。

为了解释我的问题,我有一个表格我想在上面实现它:

<table border="0" cellpadding="2" cellspacing="5">
                <th colspan="2" align="center">Check Out</th>
                <form name="checkOut" method="post" onSubmit="return(validate(this))" action="checkOut()"> 
                    <tr><td>Territory Number</td><td><input type="text" name="numberOut" tabindex="1" maxlength="3" size="3" /></td>
                    </tr><tr><td>First Name of Publisher</td><td><input type="text" onKeyUp="showHint(this.value)" name="fName" tabindex="2" maxlength="15"/></td>
                    </tr><tr><td>Last Name of Publisher</td><td><input type="text" onKeyUp="showHint_l(this.value)" name="lName" tabindex="3" maxlength="15" /></td>
                    </tr><tr><td><input type ="checkbox" name="specialC" tabindex="4" value="Yes"/> Special Campaign</td>
                    </tr><tr><td><input type="button" onClick="clearForm()" value="Reset" /></td><td><input type="submit" value="Check Out" /></td>
                </form>
                <p>Suggestions: <span id="txtHint"></span></p>
            </table>

更具体地说,checkOut() 函数将使用 ajax 将表单值提交到一个 php 脚本,该脚本对数据库运行一些插入命令(我想使用 ajax 来学习该技术,因为我对基于 Web 的操作相当陌生语言。因此,我想暂时推迟使用 jQuery)。截至目前,我没有该功能的示例。

自然地,这引出了一个问题,我可以简单地将该函数放入事件处理程序中:onSubmit = "checkOut()" 吗?同时,我会离开action=""?我会假设整个函数将执行 php 脚本并完全按照我的意愿进行操作,而无需单独的操作脚本。

对于任何反馈,我们都表示感谢。

4

4 回答 4

2

您可以将其设置为,action="javascript:checkOut();"但几乎可以肯定将其放入onSubmit处理程序中会更好。

于 2012-09-08T00:10:28.743 回答
2

使用<input type="button" />(或锚点,或 abutton或其他)代替<input type="submit" />. 在按钮的点击事件上,执行:

if(validate(document.getElementById("formId"))){
    // post the form w/ AJAX
    checkOut();
}

请记住,任何基于脚本的解决方案都应该有一个非脚本选项。在这种情况下,它可以像放置一个<input type="submit" />内部noscript标签一样简单。

顺便说一句,您的标记无效。Aform不能作为 a 的直接子级出现table

于 2012-09-08T00:33:53.787 回答
0

使用此代码是最好的方法

<input type="submit" id="submit_button">

和这样的javascript代码

var submit = getElementById('submit_button');
submit.preventDefault();
submit.addEventListener('click', checkOut);

在第一行中,我们指定了按钮,接下来我们阻止执行默认操作,接下来我们添加一个监听器,用于单击按钮时

于 2012-09-08T01:01:37.143 回答
0

我通常使用:

<input type="button" value="Submit" onclick="myFunction();">

然后我的函数将使用底部的本机提交函数,如果一切都检查出来。:

if (isSuccess)
    theForm.submit();
else
    return false;
于 2012-09-09T01:41:24.177 回答