如何检查其他页面字段值是否使用jquery
问题描述:
我得到所有联系人从Mysql数据库,然后显示它在html行。每行有onClick()
方法点击后各行行它会显示联系人的详细信息到的右侧所有联系人。如何检查其他页面字段值是否使用jquery
显示所有联系人:
echo "<tr onclick='getDetails($cdid), showthirdbox($cdid), visited(this);'>";
echo "<td class='' valign='top' align='left' width='20'>$companyName</td>";
echo "<td class='' valign='top'>$family_name</td>";
echo "<td class='' valign='top'>$given_name</td>";
echo "<td class='' valign='top'>$department</td>";
echo "<td class='' valign='top'>$title</td>";
echo "</tr>";
这getDetails()
呼叫getContactDetails.php
(联系方式)页面。在这个页面中,我有一个名为Note
的字段,用户可以在其中输入笔记。
所以现在我想显示确认消息用户只有当用户写东西就Enter Note
框,但点击其他行(所有联系人)没有保存该Enter Notes
确认mesaage将是:做你想在保存这个Notes框之前,你去其他联系人?是或否如果是,则saveNote()
将被呼叫,否则它将加载新的联系人行。
我不知道如何使用jquery或Javascript来做到这一点?你有什么想法或解决方案吗?谢谢。
getDetails()函数:
function getDetails(id) {
id = id;
$.ajax({
type:"post",
url:"getContactDetails.php",
data:"id="+id,
success:function(res){
$('#visiable').show();
$('#notebox_visiable').show();
$('#thirdBox').show();
$('#all_contact_details').html(res);
showthirdbox(id);
//showNotexBox(id);
//showAllNotesBox(id);
}
});
}
getContactDetails.php页有Note
场:点击后一排
<tr>
<td colspan="2">Enter Note<p id="demo"></p></td>
</tr>
<tr>
<td colspan="2">
<center><img id="loading-image" src="images/loading-image.gif" style="display:none; margin-bottom:10px !important;"/></center>
<div id="Notesboxsuccess"></div>
<form action="" method="post" id="showNotesBox" name="notebox">
<input type="hidden" value="<?php echo $id; ?>" name="cdid" id="cdid"/>
<tr>
<td colspan="2"><textarea name="contentText" id="contentText" cols="35" rows="4" placeholder="enter note"></textarea></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Save" name="submit" class="submit" id="addNewNotes"/></td>
</tr>
</form>
主页视图(所有联系人):
答
change
只触发模糊,所以只要用户停留在文本框中,就没有任何事情要做。
连接change事件处理函数:
$("#contentText").change(function() {
$("#contentText").attr("ididwritesomething","yep");
}
在保存按钮删除属性jQuery removeAttr()
$("#contentText").removeAttr("ididwritesomething");
在您的联系人列表中单击处理程序,检查属性设置为(from this question):
var attr = $("#contentText").attr("ididwritesomething");
if (typeof attr !== typeof undefined && attr !== false && attr=="yep"){
//do you want to save?
}
答
在这里你可以使用jQuery Change函数来做到这一点。 例如,
<input id="field" type="text" value="abcd">
<a id="pid" href="#">Link</a>
对于上面的html代码jQuery代码是继
$(document).ready(function(){
$("#pid").click(function(){
$("#field").change(function(){
alert("The text has been changed.");
});// end of change
});// end of click function
});//end of document
你可以这样做:添加一个'onchange'处理程序的说明框。在该处理程序中,为文本字段设置一个自定义属性,如$(notebox).attr('change','yes')'。然后在你的联系人列表的“onclick”中,在你改变任何东西之前,检查一下notebox是否有一个属性“change = yes”并显示你的问题。 – Michel 2014-09-26 04:59:14
@Michel感谢您的回复。你能告诉我如何做到这一点吗? – Shibbir 2014-09-26 05:06:28